我将Ember变成现有的网站模板时遇到了问题。
网站的一些视觉效果是基于javascript的,必须初始化。 Web设计的静态html版本使用带有以下代码的脚本标记
jQuery(document).ready(function() {
Main.init();
});
如果将网站直接加载到路线(例如,调用localhost:9000 /#/ content / web),则视觉效果不起作用。 如果我将页面加载到其根目录(我还没有定义要通过ember显示的内容)一切正常(即使我点击链接到/ content / web,内容也正确显示)
因为init-script被放置在页面的末尾,我想通过ember-logic显示的内容会阻止它的执行。
有没有人知道如何使用ember以正确的方式放置这样的init-sequence?
答案 0 :(得分:1)
像@CodeJack一样,你应该创建一个视图并覆盖'didInsertElement'钩子。 Jquery插入应该包含在视图中。它可以在删除视图时更轻松地清理插件。
也就是说,ember js确实有一个 ready 事件,一旦dom准备好就会被触发。 您可以像
一样使用它Ember.Application.create({
ready: function() {
//do ur initialization.
}
});