2016-10-16 2 views
0

私はEmber.jsアプリケーションの上にチュートリアルを追加するスクリプトを書いています。問題は、スクリプトがEmberアプリケーションによって読み込まれるべき要素を参照していることです。スクリプトが実行されると、要素がまだロードされていません。ただし、スクリプトの実行中はonloadです。Emberアプリケーションの上にjavascriptを実行

Emberがページの読み込みを完了しているかどうかを確認するにはどうすればよいですか?私はコントローラ/テンプレート/コンポーネント名を知っていますが、読み込みが完了した後にスクリプトを実行するように指定する方法はありません。

答えて

3

Emberがレンダリングした後で実行するようにコードをスケジュールする必要があるように聞こえます。このようにそれを実行します。Ember.Applicationから

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

readyイベントがロードされたエンバーアプリのルート要素です。

アプリケーションが準備完了になったとき、ルーティング開始直前に呼び出されます。この呼び出しは、DOMが準備完了になるまで延期されます。

参考:http://emberjs.com/api/classes/Ember.Route.html#event_didTransition:あなたがルートを知っている場合app.js

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

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

、その後、didTransition

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

参照してみてください。

コンポーネントを知っている場合は、http://emberjs.com/api/classes/Ember.Component.html#event_didInsertElement

を参照してください。
関連する問題