我有下一个结构:
我想在呈现模板时执行一些jQuery代码。我找到了使用View和didInsertElement的旧解决方案,但在这种情况下我没有View。那么,是否可以从路由或控制器执行jQuery代码?
jQuery代码:
this.$("#filtersMenu").fixedsticky();
答案 0 :(得分:2)
控制器视图上有didInsertElement
。如果您说IndexController
,那么在views/index.js
中您将拥有:
export default Ember.View.extend({
didInsertElement: function(){
this.$('#filtersMenu').fixedsticky();
this._super();
}
});
JSFiddle:http://emberjs.jsbin.com/kegere/1/edit?html,js,output除了全局jQuery总是在Ember.$
上:
Ember.$('#filtersMenu').fixedsticky();
那就是说你应该考虑把它放到一个完全负责渲染它的组件中。