在我的應用程序中,我希望模塊位於不同的命名空間。我有一個App Namespace,每個模塊都有一個App.ModuleName
命名空間。Emberjs:訪問控制器對不同命名空間的依賴
到目前爲止,我可以使用App/ModuleName/SomeResource
語法訪問目前爲止的所有內容。現在我有一個控制器,它依賴於其中一個模塊名稱空間中的控制器。我把這樣的控制器:
App.ModuleName.FooController = Ember.Controller.extend({
fooVal: 42
});
App.SomeController = Ember.Controller.extend({
needs: ['App/ModuleName/Foo', 'bar']
});
這似乎工作到目前爲止通過呃不抱怨所需的控制器不存在。
現在,我如何訪問我的車把模板中的控制器?對於bar
控制器很簡單,只需使用controllers.bar.someProperty
但我無法訪問App.ModuleName.FooController
。我嘗試過:
{{controllers.App/ModuleName/Foo.fooVal}}
{{controllers.App.ModuleName.Foo.fooVal}}
{{controllers.Foo.fooVal}}
等等,我可以想到的每一個組合,但它沒有工作。是否有可能(以及如何)讓這個運行?有人可以請賜我嗎?
順便說一句:即使是在控制器我用needs
成功,如果我(直接或通過一個車把幫助他們登錄到控制檯,從我的代碼)進行調試的controllers
屬性始終undefined
。有沒有辦法檢查所需的控制器參考?
非常感謝提前。
感謝您的回答。 'DefaultResolver'將'App/ModuleName/Foo'解析爲'App.ModuleName.FooController',這是正確的,所以這似乎不成問題。問題是我無法弄清楚在我的把手模板中訪問它的名字。有任何想法嗎? – Nic
有趣。我的印象是命名慣例相當嚴格。 Post(模型) - > PostRoute - > PostController - > PostView - > post或post/index(隱式時)。嘗試開啓LOG_VIEW_LOOKUPS。它將打印出Ember在渲染視圖時查找的模板。 –