在我的 ember 应用程序中,我希望在不同的命名空间上有模块。我有一个应用程序命名空间,每个模块都有一个App.ModuleName
命名空间。
到目前为止一切顺利,我可以使用App/ModuleName/SomeResource
语法访问到目前为止的所有内容。现在我有一个控制器,它依赖于模块命名空间之一中的控制器。我这样设置控制器:
App.ModuleName.FooController = Ember.Controller.extend({
fooVal: 42
});
App.SomeController = Ember.Controller.extend({
needs: ['App/ModuleName/Foo', 'bar']
});
到目前为止,这似乎有效,因为 ember 并没有抱怨所需的控制器不存在。
现在,如何在我的车把模板中访问控制器?对于bar
控制器来说,它很简单,只需使用,controllers.bar.someProperty
但我无法访问App.ModuleName.FooController
. 我试过了:
{{controllers.App/ModuleName/Foo.fooVal}}
{{controllers.App.ModuleName.Foo.fooVal}}
{{controllers.Foo.fooVal}}
等等,我能想到的每一种组合,但它没有奏效。是否有可能(以及如何)让它运行?有人可以启发我吗?
顺便说一句:即使在我needs
成功使用的控制器上,如果我调试它们(将它们登录到控制台,直接从我的代码或使用车把助手),controllers
属性总是undefined
. 有没有办法检查所需的控制器引用?
提前谢谢了。