ember在哪里放jquery ready-function?

时间:2014-07-23 07:09:26

标签: javascript ember.js

我将Ember变成现有的网站模板时遇到了问题。

网站的一些视觉效果是基于javascript的,必须初始化。 Web设计的静态html版本使用带有以下代码的脚本标记

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

如果将网站直接加载到路线(例如,调用localhost:9000 /#/ content / web),则视觉效果不起作用。 如果我将页面加载到其根目录(我还没有定义要通过ember显示的内容)一切正常(即使我点击链接到/ content / web,内容也正确显示)

因为init-script被放置在页面的末尾,我想通过ember-logic显示的内容会阻止它的执行。

有没有人知道如何使用ember以正确的方式放置这样的init-sequence?

1 个答案:

答案 0 :(得分:1)

像@CodeJack一样,你应该创建一个视图并覆盖'didInsertElement'钩子。 Jquery插入应该包含在视图中。它可以在删除视图时更轻松地清理插件。

也就是说,ember js确实有一个 ready 事件,一旦dom准备好就会被触发。 您可以像

一样使用它
Ember.Application.create({
  ready: function() {
    //do ur initialization.
  }
});