我希望在我的页面完全加载(包括所有背景图像)时启动一些css转换,所以我正在尝试
didRender
组件的事件,但它永远不会被调用。这就是我的代码的样子
export default Ember.Component.extend({
didRender() {
console.log('did render working');
var home =$('#main-outlet')[0];
home.className += " homePage";
startTimer(5);
},
willDestroyElement() {
console.log("destroying view");
var home = $('#main-outlet')[0];
home.className = " wrap";
}
});
然而,当我使用didInsertElement
事件时,我的代码工作正常但我无法使用,因为它在加载图像本身之前执行
对此有任何想法或替代方法吗?
答案 0 :(得分:1)
试试这个:
didInsertElement() {
this._super(...arguments);
Ember.run.scheduleOnce('afterRender', this, function(){
var home =$('#main-outlet')[0];
home.className += " homePage";
startTimer(5);
});
},
重新渲染后, didRender
每次都有效。也许您应该更喜欢didInsertElement
(仅适用一次)并安排您的功能。
关于:Ember Run