Emberjs:加载Handlebars模板后没有调用Jquery函数

时间:2013-10-03 18:35:50

标签: jquery ember.js

我有一个EmberJS应用程序,我正在尝试调用一个jquery函数,该函数使用.css()为某个特定的把手模板在页面上定位一些div元素。

我的问题是,当EmberJS将模板加载到我的应用程序时(无论是通过url更改还是{{linkTo}},jquery函数都不会被触发。也就是说,如果我刷新页面,它们只会触发很好,一切都很棒。另外,我有一个事件监听器,如果页面改变宽度,这将导致函数重新启动,这也很好。

我的猜测是,一旦最初加载模板,Ember实际上并没有调用jquery函数。无论如何要绕过这个?我想知道是否应该尝试使用把手直接调用我的scripts.js中的函数?谢谢你的帮助!

此外,这可能在不利用视图的情况下实现吗?也许只是使用Handlebars和组件?

1 个答案:

答案 0 :(得分:2)

您需要在视图的didInsertElement方法中添加这样的代码。例如,如果您的模板是project/index,则可以执行以下操作:

App.ProjectIndexView = Ember.View.extend({
    template: 'project/index',
    didInsertElement: function() {
    /// Your jQuery code here
    }
});