我有一个余烬应用程序和插座的概念和连接插座很好,我明白了。我不明白的是如何在没有疯狂嵌套的情况下在另一个视图/控制器视图中有多个视图/控制器视图
假设我正在设计icloud clone,我有电子邮件功能和照片库功能。现在,如果我想完成像
这样的事情***********************************************************
* 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的架构风格,仍允许更复杂的嵌套?
答案 0 :(得分:8)
你知道你能说出口吗?例如,在SplitView模板中,您可以拥有一个{{outlet inboxListView}},一个{{outlet contactsListView}}等...当您执行connectOutlets时,您可以这样做:
splitViewController.connectOutlet({name: 'inboxList', outletName: 'inboxListView'})
splitViewController.connectOutlet({name: 'contactsList', outletName: 'contactsListView'})
依旧......