Por lo general, si su Controlador representa una lista de elementos, usaría el Ember.ArrayController
, y si el controlador representa un solo elemento, usaría el Ember.ObjectController
. Algo parecido a lo siguiente:
MyApp.ContactsController = Ember.ArrayController.extend({
content: [],
selectedContact: null
});
MyApp.SelectedContactController = Ember.ObjectController.extend({
contentBinding: 'contactsController.selectedContact',
contactsController: null
});
Luego, en su Ember.Router
(si se utilizan), que conectaría los dos dentro de la función connectOutlets
:
connectOutlets: function(router) {
router.get('selectedContactController').connectControllers('contacts');
}
Editar: Nunca he usado el Ember.Controller
. Al mirar el código fuente, parece que podría querer utilizarlo si está construyendo un controlador personalizado que no se ajusta con los otros dos controladores.
Según tengo entendido, utiliza 'Ember.Controller' cuando el controlador no es un proxy (ni para un objeto ni para una matriz) como en el caso de su' App.ApplicationController'. – dechov
Joachim pauldechov ¡Gracias por su respuesta! Ahora sé la diferencia de ellos. – xnjiang