Ember JS如何设置应用程序

Abd*_*ola 6 javascript model-view-controller ember.js

我是Ember noob,我正努力让它上班; 但我对App.initialize()方法感到困惑.

如果我使用以下代码,它会抛出错误(它无法找到对象App):

App = Ember.Application.extend()
App.initialize()
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用以下代码; 它说初始化被调用两次.

App = Ember.Application.create()
App.initialize()
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

Mil*_*Joe 9

所述Application不再提供的initialize方法.相反,你应该使用Application#deferReadinessApplication#advanceReadiness组合.

从Ember的源代码中提取的示例:

App = Em.Application.create();
App.deferReadiness();

jQuery.getJSON("/auth-token", function(token) {
  App.token = token;
  App.advanceReadiness();
});
Run Code Online (Sandbox Code Playgroud)

另外,检查jsfiddle中的示例:

window.App = Em.Application.create();

App.deferReadiness();

window.setTimeout(function() {
  Em.TEMPLATES["application"] = Em.Handlebars.compile('<h1>App</h1> this is a template');
  App.advanceReadiness();
}, 1500);
Run Code Online (Sandbox Code Playgroud)