我有下一个结构:
- builder.hbs(模板)
- builder.js(路线)
- builder.js( Controller )
我想在渲染模板时执行一些 jQuery 代码。我找到了带有 View 和 didInsertElement 的旧解决方案,但在这种情况下我没有 View 。那么,是否可以从路由或 Controller 执行 jQuery 代码?
jQuery 代码:
this.$("#filtersMenu").fixedsticky();
最佳答案
您在 Controller 的 View 上有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();
也就是说,您应该考虑将其放入完全负责渲染它的组件中。
关于javascript - 从 Controller 或路由访问 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31983154/