讓我們假設我已經正確設置了一切。我有一個型號App.User
,我有一個控制器App.UsersIndexUserController
。Ember.js itemController和模型和控制器混淆
GOOD GOOD GOOD GOOD GOOD
以下視圖模板...
<script type="text/x-handlebars" data-template-name="users_index_template">
{{#each user in users}}
{{log user}}
{{#linkTo users.user user}}{{user.name}}{{/linkTo}}
{{/each}}
</script>
...這個輸出以下的瀏覽器的console.log ...
<App.User:ember258> { created_at="2013-03-05T01:51:15Z", id=76 ... etc ... }
很壞很壞很壞很壞的壞
然而,用我的模板itemController
指令,像這樣......
<script type="text/x-handlebars" data-template-name="users_index_template">
{{#each user in users itemController="usersIndexUser"}}
{{log user}}
{{#linkTo users.user user}}{{user.name}}{{/linkTo}}
{{/each}}
</script>
時......這在輸出瀏覽器的控制檯下面。登錄...
<App.UsersIndexUserController:ember253> { target=<Ember.ArrayController:ember245> ... etc ... }
我期待{{log user}}
爲這兩種情況返回一個App.User
的實例。但是,如上所示,使用itemController
指令時將返回App.UsersIndexUserController
的實例,如果不使用itemController
指令,則返回App.User
的實例。
如果我的App.UsersIndexUserController
明確返回一些對象,以致在上述兩種情況下,{{log user}}
將返回App.User
?
App.UsersIndexUserController = Ember.ObjectController.extend({
});
我使用Ember.js V1.0.0-RC1
// Version: v1.0.0-rc.1
// Last commit: 8b061b4 (2013-02-15 12:10:22 -0800)
我打算仔細考慮一下。傾向於你是對的。 – 2013-03-10 19:27:42