¿Puedo agregar una propiedad computada adicional a un Ember ArrayProxy?
Estoy trabajando en una aplicación Ember heredada que tiene un poco de configuración original y estoy tratando de limpiar las cosas y seguir un poco más las convenciones. Un problema es que, en lugar de devolver una matriz desdemodel
gancho de una ruta de índice, estamos devolviendo un objeto que contiene una matriz. Entonces, estoy envolviendo elmodel
en unArrayProxy
ensetupController
Me gusta esto:
setupController: (controller, model) ->
model_proxy = Ember.ArrayProxy.create({content: model.get('item')})
controller.set('content', model_proxy)
Esto realmente funciona (es decircontent
se actualiza cuando se resuelve la promesa de AJAX ymodel.item
está cargado de datos). El problema es que hay otra propiedad enmodel
que también necesito en mi controlador.model
tiene unneedsLoader
propiedad que se inicializa en verdadero y luego se establece en falso cuando se resuelve la promesa. Estamos usando esto para mostrar una ruleta al usuario mientras se obtienen los datos del servidor.
Entonces, mi pregunta es: ¿hay alguna forma de poderneedsLoader
en elArrayProxy
?
Una solución que he intentado es enganchar el originalmodel
en el controlador de una manera no estándar:
setupController: (controller, model) ->
....
controller.set('_model', model)
....
Esto me permite accederneedsLoader
desde el controlador llamando@get('_model.needsLoader')
. Funciona, pero me gustaría hacer todo el trabajo sucio en el enrutador para tener una interfaz limpia en mi controlador para llamarmodel
como siempre.
¡Gracias!