EmberJSv1.0.preでアプリを書いています。私はArrayController
すべての人のリストを含むを持っています。人、ペット、および各ペットのメモを示すネストされたビューがたくさんあります。
|----------------------------------------|
| 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の観点からは、各子にコントローラーが必要であるように感じますが、Emberでそれを実現する方法がわかりません。一番上のアレイコントローラーがあり、次にすべての個別のビューがあります。メモを削除したり編集したりする場合は、ビューのコンテキストをコントローラーに渡す必要があるようです。
// in the view
click: function () {
this.get('controller').updateNote(this.get('content'))
}
これは私にとって本当に悪いことだと感じます。ビューはデータの信頼できるソースではないはずです。私の仮定は、ArrayControllerが。itemControlerClass
とともにインスタンス化することですitemViewClass
。
更新:問題をよりよく説明するためにフィドルを作成しました。機能は意図的に不完全です。目的は、リストの項目がクリックされたときにコンテンツを増やして機能を終了することです。
更新:申し訳ありませんが、事故でフィドルを削除しました!私は最終的な解決策に取り組んでいるので、解決策を使って新しいフィドルを作成しようと思います。