在Ember中模板渲染后执行脚本

时间:2013-07-05 16:08:23

标签: jquery ember.js

我需要致电

jQuery('#nav').spasticNav();

用于激活菜单上的spasticNav动画;菜单(#nav)包含在Ember App主模板中:

<script type="text/x-handlebars" data-template-name="index">
...
<div id="nav">...</div>
...
</script>

在使用Ember之前,我在</body>标签之前调用了spasticNav,但现在我必须等待模板完全渲染之前;我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

在视图呈现到DOM之后需要执行的所有内容都可以在视图的didInsertElement挂钩中完成。

例如,如果您的视图被调用index,那么定义一个视图:

App.IndexView = Ember.View.extend({
  didInsertElement: function() {
    jQuery('#nav').spasticNav();
  }
});

希望它有所帮助。