6

我有一个 ember 应用程序,插座和连接插座的概念很好,我明白了。我不明白的是如何在没有疯狂嵌套的情况下在另一个视图/控制器视图中拥有多个视图/控制器视图

假设我正在设计具有电子邮件功能和照片库功能的 icloud 克隆。现在,如果我想完成类似的事情

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

我想要设计的方式是这样的

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

我可以将它们热交换到 SplitView 的级别或将它们全部删除,但我看不到只outlet允许一个这样做的好方法。它会迫使我在不应该嵌套的事物中进行下一步。使用单出口方法,我的结构看起来更像

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

如何找到适合 Ember.js/Router 且仍允许更复杂嵌套的架构风格?

4

1 回答 1

8

你知道你可以命名网点吗?例如,在 SplitView 模板中,您可以有一个 {{outlet inboxListView}}、一个 {{outlet contactsListView}} 等...当您执行 connectOutlets 时,您可以这样做:

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

等等...

于 2012-10-10T17:51:20.030 回答