0

对于 Ember.js 中的任何视图,我们都需要创建具有适当名称的控制器才能使用此控制器,但对于内部视图而言,情况并非如此ContainerView

视图(在 ContainerView 内):

App.ChildView = Ember.View.extend({});

控制器:

App.ChildController = Ember.ObjectController.extend({
    init: function () {
        alert('Hell no! I\'m not going to init!');
        return this._super();
    }
});

上面的不行...

(内部视图)之类的解决方案this.set('controller', App.ChildController.create())不是一种选择,因为Ember.Eventedneeds并且可能更多的东西不起作用。

这是(不)工作示例:http: //jsfiddle.net/wbednarski/XaPSR/

任何帮助表示赞赏!

4

1 回答 1

1

对于 Ember.js 中的任何视图,我们需要创建具有适当名称的控制器才能使用此控制器

我不确定这个前提是否正确。ContainerView 是一个非常底层的视图库,它对控制器一无所知。它可能用于创建小部件或组件,在这种情况下,子视图将没有自己的控制器。如果您希望将 ContainerView 中的视图绑定到它们自己的控制器,这表明 ContainerView 不适合您要解决的问题。

相反,请考虑使用手把助手,例如{{render}}{{each}}

于 2013-09-16T23:53:24.693 回答