0
我正在研究一个Ember项目,并且我有一个按钮将一些HTML标记插入到DOM中。我想调用一个JavaScript函数在加载这些新的DOM元素时运行。这是我的代码:如何在使用Ember动态显示的元素上运行js函数?
<script type="text/x-handlebars" id="doc">
{{#if isEditing}}
{{partial 'doc/editbox'}}
{{/if}}
...
</script>
部分doc/editbox只包含一些html标记。
我试着运行javascript作为启动插入的单击按钮事件的一部分,但js不工作,因为DOM元素还不存在。我看到这篇文章: How to Run Some JS on an Element in the Index Template in Ember.js RC2 建议使用Ember.run.next,但是由于View'Doc'原本没有这些额外的DOM元素(直到点击按钮)才出现,所以无法工作。如何让javascript函数在正确的时间运行?
这工作就像一个魅力。为什么只有当我把它放在控制器而不是视图中时才起作用? – ikesultan
您可以将它放在视图中,只需将其从isEditing更改为controller.isEditing即可。这是你的意思吗? – Kingpin2k
通过查看,我的意思是Ember.View.extend({...})中的代码。无论如何,有没有理由为什么它应该在控制器中,而不是视图,还是它没有影响? – ikesultan