弃用:不再支持使用defaultContainer(顶级视图)

时间:2013-09-23 09:25:36

标签: ember.js

我有这个视图,必须添加到body元素(它不在ContainerView中):

App.NotAForm = Ember.View.extend({
    templateName: 'sample',
    tagName: 'span',
    alert_img: function(event) {
        console.log('event=%o', event);
        event.preventDefault();
        alert(App.myModel.get('myModel_src'));
    },
});

这是实例化视图的原始实现:

aView = App.NotAForm.create();
aView.appendTo('body');

但这是在扔:

DEPRECATION: Using the defaultContainer is no longer supported. [defaultContainer#lookup] see: http://git.io/EKPpnA

我已经看过建议here的迁移路径,但不知道在这种情况下什么是正确的解决方案。我尝试过以下方法:

aView = App.view.createChildView('App.NotAForm');
aView = App.View.createChildView('App.NotAForm');
aView = Ember.View.createChildView('App.NotAForm');

无济于事。解决此弃用警告的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

目前您使用此代码手动将视图附加到DOM:

aView = App.NotAForm.create();
aView.appendTo('body');

而是使用{{view}}助手将视图附加到您选择的Handlebars模板中:

{{view App.NotAForm}}