0

我有一个 EmberJS 应用程序,我试图在其中调用一个 jquery 函数,该函数将一些 div 元素放置在页面上,.css()用于特定的车把模板。

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

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

此外,如果不利用视图,这可能吗?也许只有把手和组件?

4

1 回答 1

2

您需要将这样的代码放入didInsertElement视图的方法中。因此,例如,如果您的模板是project/index,您将执行以下操作:

App.ProjectIndexView = Ember.View.extend({
    template: 'project/index',
    didInsertElement: function() {
    /// Your jQuery code here
    }
});
于 2013-10-03T22:31:03.080 回答