2014-09-29 48 views

回答

2

您正在尋找灰燼初始化。

Ember.Application.initializer({ 

    name: 'my-initializer', 
    after: 'some-other-initializer', 

    initialize: function(container, application) { 
     application.deferApplicationReadiness(); 
     application.register(...); 

     very_long_initialization_task_returning_promise().then(function() { 
      application.advanceApplicationReadiness(); 
     }); 
    } 
}); 

您可以使用初始化預加載在店裏的東西,組織依賴注射等。after屬性提供以設置初始化命令的能力。 deferApplicationReadinessadvanceApplicationReadiness允許您在應用程序準備就緒時告訴Ember。請參閱http://emberjs.com/api/classes/Ember.Application.html#method_initializer

如果您正在使用燼-CLI,使傳遞到Ember.Application.initializer從一個文件名爲initializers/my-initializer.js默認以上出口散:

export default { 
    name: 'my-initializer', 
    ... 
} 
0

你可以這樣做......假設在加載所有內容和準備好的DOM之間進行時間安排並不關鍵......點擊「運行代碼片段」以查看1秒後「JavaScript」標題的變化。

var App = Ember.Application.create(); 
 

 
App.reopen({ 
 
    ready: function() { 
 
    setTimeout(function() { 
 
     Ember.$('#thing').text('FavaBean'); 
 
    }, 1000); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script> 
 
<script src="http://builds.emberjs.com/ember-latest.js"></script> 
 

 
<h1 id="thing">JavaScript</h1>

相關問題