在Ember应用程序上运行javascript

Run javascript on top of Ember app

本文关键字:运行 javascript 程序上 应用程序 Ember 应用      更新时间:2023-09-26

我正在编写一个脚本,在Ember.js应用程序的顶部添加一个教程。问题是该脚本引用了应该由Ember应用程序加载的元素。当脚本运行时,元素尚未加载,即使脚本正在运行onload

如何确定Ember是否完成加载页面?我知道控制器/模板/组件的名称,但我不知道如何指定脚本应该运行后,他们完成加载

听起来你需要安排你的代码在Ember渲染后运行。这样做:

Ember.run.scheduleOnce('afterRender', this, yourFunction);

ready事件从Ember.Application是Ember应用程序的根元素加载。

当应用程序准备就绪时,在路由开始之前立即调用。调用将被延迟,直到DOM准备好。

参考:http://emberjs.com/api/classes/Ember.Application.html event_ready

在app.js

App = Ember.Application.extend({
    modulePrefix: config.modulePrefix,
    podModulePrefix: config.podModulePrefix,
    ready: function() {
        //this place you can write down your javascript code.
     },
    Resolver
});

如果您知道路由,则尝试didTransition

didTransition() {
      Ember.run.scheduleOnce('afterRender', this, function () {
      //your script code
    });
 }

参考:http://emberjs.com/api/classes/Ember.Route.html # event_didTransition。

如果你知道组件,然后尝试didInsertElement参考:http://emberjs.com/api/classes/Ember.Component.html#event_didInsertElement