6

私は ember アプリを持っており、コンセントの概念とコンセントの接続は問題ありません。私が理解していないのは、非常識なネストなしで複数のビュー/コントローラービューを別のビュー内に配置する方法です

電子メール機能とフォト ギャラリー機能を備えた icloud クローンを設計しているとします。今、次のようなことを達成したい場合

***********************************************************
* INBOX LIST     **  COMPOSE OR VIEW MESSAGE              *
*                **                                       *
*                **                                       *
*                **                                       *
*                **                                       *
* CONTACTS LIST  **                                       *
*                **                                       *
*                **                                       *
*                **                                       *
*                **                                       *
***********************************************************

これを設計したい方法は次のようになります

EmailController/View
|-- SplitViewController/View
   |-- InboxListController/View
   |-- ContactsListController/View
   |-- ComposeMessageController/View
   |-- ReadMessageController/View

これらをSplitViewのレベルにホットスワップするか、まとめて削除できますが、許可されているのは1つだけでこれを行う良い方法がわかりませんoutlet。入れ子にしてはいけないものの中に次のものが強制されます。シングル アウトレット アプローチを使用すると、私の構造は次のようになります。

EmailController/View
|-- SplitViewController/View
   |-- InboxListController/View
       |-- ContactsListController/View
           |-- ComposeMessageController/View
               |-- ReadMessageController/View

より複雑なネストを可能にする Ember.js/Router に適合するアーキテクチャ スタイルを見つけるにはどうすればよいでしょうか?

4

1 に答える 1

8

アウトレットに名前を付けることができることを知っていますか?たとえば、SplitView テンプレートでは、{{outlet inboxListView}} を 1 つ、{{outlet contactsListView}} を 1 つ持つことができます。connectOutlets を実行するときは、次のように実行できます。

splitViewController.connectOutlet({name: 'inboxList', outletName: 'inboxListView'})
splitViewController.connectOutlet({name: 'contactsList', outletName: 'contactsListView'})

等々...

于 2012-10-10T17:51:20.030 に答える