子控制器如何在ember.js中访问其父控制器

时间:2014-04-25 22:21:29

标签: ember.js

我的父控制器上有一些属性,我希望我的子控制器可以访问。

我想这样访问它:

App.ApplicationController = Ember.ObjectController.extend({
    prop1: "someProp",
    prop2: "someotherProp",
    needs: ["child"]
});

App.ChildController = Ember.ObjectController.extend({
    prop1: Ember.computed.alias("parentController.prop1"),
    prop2: Ember.computed.alias("parentController.prop2"),
});

如何访问这些属性?

- 编辑--- 它是否假设我需要一个控制器实例?

1 个答案:

答案 0 :(得分:4)

要访问needs数组中的某些内容,请使用this.get(' controllers.some_controller')。我认为上面的内容略微向后,因为您希望孩子能够访问应用程序控制器。

App.ChildController = Ember.ObjectController.extend({
    needs: ['application']
    prop1: Ember.computed.alias("controllers.application.prop1"),
    prop2: Ember.computed.alias("controllers.application.prop2"),
});