我正在用EmberJS v1.0.pre編寫一個應用程序。我有一個ArrayController
其中包含所有人的列表。有一堆嵌套的視圖顯示了每個寵物的人,他們的寵物和筆記。EmberJS嵌套視圖和控制器
|----------------------------------------|
| John | <- Person
|----------------------------------------|
| Quincy (Dog) | <- Pet
| - Super ornery | <- Note
| - Likes XYZ Dog food |
| - Will eat your socks |
| |
| Tom (Cat) |
| - Always (not) catching mice |
| |
|----------------------------------------|
| Roger |
|----------------------------------------|
| V (Dog) |
| - Likes XYZ Dog food |
| - Sneezes, but it's ok |
| |
|----------------------------------------|
| ... |
從感覺應該有每個孩子的控制,但我無法弄清楚如何實現,在灰燼純MVC立場。有頂級的數組控制器,然後是所有單獨的視圖。如果我想刪除一個筆記,或編輯它,似乎我需要將視圖的上下文傳遞給控制器。
// in the view
click: function() {
this.get('controller').updateNote(this.get('content'))
}
這對我來說真的很不好,視圖不應該是數據的權威來源。我的假設是ArrayController會實例化一個itemControlerClass
以及itemViewClass
。
更新:我創建了一個fiddle以更好地說明我的問題。該功能故意不完整,目的是通過點擊列表上的項目時增加內容來完成功能。
更新:對不起,我在意外刪除了小提琴!我正在做一些最終解決方案的工作,所以我會嘗試創建一個新的小提琴解決方案。
查看http://emberjs.com/guides/outlets/ –
該指南中沒有關於我的問題的真實公司信息。我已經閱讀過,我會繼續提及它,但還沒有發現任何東西。 – noazark
檢查出來,然後http://stackoverflow.com/questions/12595496/how-can-i-build-a-recursive-view-in-ember/12602743#comment17008361_12602743 –