我有一个EmberJS应用程序,我正在尝试调用一个jquery函数,该函数使用.css()
为某个特定的把手模板在页面上定位一些div元素。
我的问题是,当EmberJS将模板加载到我的应用程序时(无论是通过url更改还是{{linkTo}}
,jquery函数都不会被触发。也就是说,如果我刷新页面,它们只会触发很好,一切都很棒。另外,我有一个事件监听器,如果页面改变宽度,这将导致函数重新启动,这也很好。
我的猜测是,一旦最初加载模板,Ember实际上并没有调用jquery函数。无论如何要绕过这个?我想知道是否应该尝试使用把手直接调用我的scripts.js中的函数?谢谢你的帮助!
此外,这可能在不利用视图的情况下实现吗?也许只是使用Handlebars和组件?
答案 0 :(得分:2)
您需要在视图的didInsertElement
方法中添加这样的代码。例如,如果您的模板是project/index
,则可以执行以下操作:
App.ProjectIndexView = Ember.View.extend({
template: 'project/index',
didInsertElement: function() {
/// Your jQuery code here
}
});