如何在呈现模板时调用didInsertElement,因为在Ember 1.13中不推荐使用View

时间:2015-08-06 17:01:29

标签: ember.js

我正在更新为Ember 1.13,我希望淡化我用于从View调用didInsertElement的应用程序模板的背景。

App.ApplicationView = Ember.View.extend({
    didInsertElement: function() {
        $('#login-bg').fadeIn(600);
    }
});

这引发了弃用,因为视图正在消失。 Ember是否为模板创建了一个组件?这不起作用:

App.ApplicationComponent = Ember.Component.extend({
    didInsertElement: function() {
        $('#login-bg').fadeIn(600);
    }
});

1 个答案:

答案 0 :(得分:5)

到目前为止还没有默认的应用程序组件在幕后工作,但您可以创建一个并将应用程序模板包装在其中:

// app/templates/application.hbs
{{#application-area}}
  {{outlet}}
{{/application-area}}


// app/templates/components/application-area.hbs
<div id="login-bg">
  {{yield}}
</div>


// app/components/application-area.js
import Ember from 'ember';

export default Ember.Component.extend({
  didInsertElement () {
    Ember.$('#login-bg').fadeIn(600);
  }
});