好吧,我试图在随机控制器(不是我的模板的默认控制器)上获取计算属性,以将此属性传递给随机模板上的组件。在irc的一些帮助下,我被指出:“http://emberjs.com/guides/controllers/dependencies-between-controllers/”并且意识到我的问题更多的是控制器依赖问题,而不是组件问题,这有帮助,但我仍然遇到问题。
所以在我的blah模板的默认控制器(BlahController)上,我使用'needs'钩子来访问FooBarController,如下所示:
needs: 'foo_bar'
在我正在调用我的组件的同一个模板中,我得到了FooBarController的属性:
{{my-widget someProperty=controllers.foo_bar.someProperty}}
我的组件只显示如下属性:
{{someProperty}}
我正在尝试访问的属性(someProperty)是一个带有自己的依赖项的计算属性。我得到一个错误,计算属性的依赖属性似乎不可用???
答案 0 :(得分:0)
仅当您需要完全隔离的视图来构建可重用的ui元素时,才会使用Ember组件。因此,当您将组件作为参数调用时,必须传入组件为其模板所需的所有内容。组件不应绑定到控制器。相反,当它需要传播事件时,它应该使用'sendAction'api来控制调用它的模板。你真正需要的是一个视图。