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

Ember.js 如何在呈现模板时调用didInsertElement,因为在Ember 1.13中不推荐使用视图,ember.js,Ember.js,我正在更新到Ember 1.13,我想在我用来从视图中调用didInsertElement的应用程序模板的背景中淡入淡出 App.ApplicationView = Ember.View.extend({ didInsertElement: function() { $('#login-bg').fadeIn(600); } }); 这会抛出一个不推荐的视图,因为视图正在消失。Ember是否为模板创建组件?这不起作用: App.ApplicationCompon

我正在更新到Ember 1.13,我想在我用来从视图中调用didInsertElement的应用程序模板的背景中淡入淡出

App.ApplicationView = Ember.View.extend({
    didInsertElement: function() {
        $('#login-bg').fadeIn(600);
    }
});
这会抛出一个不推荐的视图,因为视图正在消失。Ember是否为模板创建组件?这不起作用:

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

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

// 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);
  }
});
//app/templates/application.hbs
{{#应用领域}
{{outlet}}
{{/应用区域}
//app/templates/components/application-area.hbs
{{yield}}
//app/components/application-area.js
从“余烬”导入余烬;
导出默认的Ember.Component.extend({
双插入元素(){
余烬$(“#登录背景”).fadeIn(600);
}
});

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

// 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);
  }
});
//app/templates/application.hbs
{{#应用领域}
{{outlet}}
{{/应用区域}
//app/templates/components/application-area.hbs
{{yield}}
//app/components/application-area.js
从“余烬”导入余烬;
导出默认的Ember.Component.extend({
双插入元素(){
余烬$(“#登录背景”).fadeIn(600);
}
});

另外,如果你正在做这样的动画过渡,我强烈推荐《灰烬》。是的,这很有效。但是,如果你总是要把东西放在组件中才能访问生命周期功能,比如didInsertView和willDestroyElement,那么模板又有什么意义呢?他们正在计划制作支持模板的可路由组件,但在这之前,你仍然可以使用该视图,它只是被弃用以警告您不要创建大量视图,并尽可能转移到组件。此外,如果您正在进行这样的动画过渡,我强烈建议使用for Ember。是的,这很有效。但是,如果你总是要把东西放在组件中才能访问生命周期功能,比如didInsertView和willDestroyElement,那么模板又有什么意义呢?他们正在计划制作支持模板的可路由组件,但在这之前,你仍然可以使用该视图,不推荐使用它只是为了警告您不要创建大量视图,并在可能的情况下转移到组件。