私はEmberJS v1.0.preでアプリを書いています。私はすべての人のリストを含むArrayController
を持っています。人、ペット、各ペットのメモを表示するネストされたビューの束があります。そこにそれぞれの子のためのコントローラでなければなりませんが、私はエンバーでそれを達成する方法を見つけ出すことができないようにそれは感じている純粋なMVCの観点から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 |
| |
|----------------------------------------|
| ... |
。上位のアレイコントローラーがあり、すべての個々のビューがあります。メモを削除したり、編集したりする場合は、ビューのコンテキストをコントローラに渡す必要があるようです。
// in the view
click: function() {
this.get('controller').updateNote(this.get('content'))
}
これは本当に悪いと感じます。ビューは、データの正式なソースではないと考えられます。私の前提は、ArrayControllerはitemViewClass
と一緒にitemControlerClass
をインスタンス化するということです。
更新日:私はfiddleを作成して、私の問題をより詳しく説明しました。この機能は意図的に不完全であり、リスト上の項目がクリックされたときに内容を増やして機能を終了させることが目的です。
更新日:申し訳ありませんが、私は事故でフィドルを削除しました!私は最終的な解決策についていくつかの作業をしているので、私は解決策で新しいフィドルを作成しようとします。
これを経由してくださいhttp://emberjs.com/guides/outlets/ –
私の問題については、このガイドに実際の企業情報はありません。私はそれを前に読んだことがありますが、私はそれを参照し続けますが、まだ何も見つかりませんでした。 – noazark
これをチェックしてくださいhttp://stackoverflow.com/questions/12595496/how-can-i-build-a-recursive-view-in-ember/12602743#comment17008361_12602743 –