Ember在哪里放jquery的ready-function

ember where to put jquery ready-function?

本文关键字:ready-function jquery 在哪里 Ember      更新时间:2023-09-26

我有一个问题得到烬进入一个现有的网站模板。

网站的一些视觉效果是基于javascript的,必须初始化。静态html版本的网页设计使用a script标签,代码如下

jQuery(document).ready(function() {
    Main.init();
});

如果直接将网站加载到路由(例如调用localhost:9000/#/content/web),则视觉效果不起作用。如果我加载页面到它的根(在那里我还没有定义内容被ember显示)一切都是好的(即使我点击链接到/content/web,内容显示正确)。

由于初始化脚本被放置在页面的末尾,我猜通过ember-logic显示的内容阻止了它的执行。

有人知道如何用ember正确地放置这样的初始化序列吗?

就像@CodeJack提到的,你可能应该创建一个视图并覆盖'didInsertElement'钩子。Jquery插件应该包装在视图中。当视图被删除时,它可以更容易地清理插件。

也就是说,ember js确实有一个ready事件,一旦dom准备好就会触发。你可以用
Ember.Application.create({
  ready: function() {
    //do ur initialization.
  }
});