Tengo una aplicación de brasas y el concepto de la toma de corriente y la conexión de la toma está bien, lo entiendo. Lo que no entiendo es cómo tener más de una vista/vista de controlador dentro de otra sin anidamiento insano.Ember.js Router App Architecture - Cómo tener múltiples pares de vista/controlador anidados
Supongamos que estoy diseñando clonación de icloud donde tengo funcionalidad de correo electrónico y galería de fotos. Ahora bien, si yo quería lograr algo así como
***********************************************************
* INBOX LIST ** COMPOSE OR VIEW MESSAGE *
* ** *
* ** *
* ** *
* ** *
* CONTACTS LIST ** *
* ** *
* ** *
* ** *
* ** *
***********************************************************
La forma en que me gustaría diseñar este sería algo así como
EmailController/View
|-- SplitViewController/View
|-- InboxListController/View
|-- ContactsListController/View
|-- ComposeMessageController/View
|-- ReadMessageController/View
Dónde puedo hot swap éstos al nivel de la SplitView o eliminarlos todos juntos, pero no veo una buena manera de hacerlo con solo un outlet
permitido. Me forzaría a seguir cosas dentro de cosas que no deberían estar anidadas. Utilizando el enfoque de toma única, mi estructura se parecería más a
EmailController/View
|-- SplitViewController/View
|-- InboxListController/View
|-- ContactsListController/View
|-- ComposeMessageController/View
|-- ReadMessageController/View
¿Cómo puedo encontrar un estilo de arquitectura que encaja con Ember.js/router que todavía permite la anidación más complejo?
Entonces, si utiliza diferentes puntos de acceso con nombre para diferentes vistas/objetos modelo en SplitView, ¿qué aspecto tendría su enrutador al llenar los puntos de venta anidados con datos? splitViewController.connectOutlet ({name: 'inboxList', outletName: 'inboxList'}, router.get ('store'). findAll (App.Inbox))) y splitViewController.connectOutlet ({name: 'contactsList', outletName: 'contactsList'}, router.get ('store'). findAll (App.Contact)))? –
sonar así, sí, pero tienen que poner el contexto en el hash. '{name: 'contactsList', outletName: 'contactsList', context: router.get ('store'). findAll (App.Contact)})' ver http://emberjs.com/api/classes/Ember.ControllerMixin .html # method_connectOutlet para más detalles –
@ sly7_7 ¡Es una gran noticia! Gracias :) – wmarbut