アプリが起動してレンダリングされた後、アクションを実行する必要があります。これを実現するために私が行ったことは、didInsertElementをメインテンプレートに追加し、コントローラーメソッドを呼び出して実際のアクションを実行することでした。
Sp.IndexView = Em.View.extend({
templateName: 'index',
didInsertElement: function() {
this.controller.switchMenuItem() ;
}
}) ;
Sp.IndexController = Em.Controller.extend({
switchMenuItem: function() {
$('#index').addClass('nice-animation') ;
... and something more ...
}
});
ただし、ページの準備ができて表示されるようになると、アニメーションはすでに適用されています。setTimeout()を追加し、クラスを追加する前に少し待つと、要素が変換されるのがわかります。Emberには、すべてが表示された直後にアクションを実行する方法がありますか?
乾杯