如何在 Ember.ContainerView 中为 View 创建控制器

How to create controllers for views inside Ember.ContainerView?

本文关键字:View 创建 控制器 中为 ContainerView Ember      更新时间:2023-09-26

对于 Ember 中的任何视图.js我们需要创建具有适当名称的控制器才能使用此控制器,但 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/

任何帮助表示赞赏!

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

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

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