Posso adicionar uma propriedade computada adicional a um Ember ArrayProxy?
Estou trabalhando em um aplicativo herdado do Ember que tem uma configuração um pouco descolada e estou tentando limpar as coisas e seguir um pouco mais as convenções. Uma questão é que, em vez de retornar uma matriz domodel
gancho de uma rota de índice, estamos retornando um objeto que contém uma matriz. Então, estou embrulhando omodel
em umArrayProxy
nosetupController
como isso:
setupController: (controller, model) ->
model_proxy = Ember.ArrayProxy.create({content: model.get('item')})
controller.set('content', model_proxy)
Isso realmente funciona (ou seja,content
é atualizado quando a promessa do AJAX é resolvida emodel.item
é carregado com dados). O problema é que há outra propriedade nomodel
que eu também preciso no meu controlador.model
tem umneedsLoader
propriedade que é inicializada como true e configurada como false quando a promessa é resolvida. Estamos usando isso para mostrar um controle giratório para o usuário enquanto os dados estão sendo buscados no servidor.
Então, minha pergunta é: existe alguma maneira de proxyneedsLoader
noArrayProxy
?
Uma solução que tentei é conectar o originalmodel
no controlador de maneira não padrão:
setupController: (controller, model) ->
....
controller.set('_model', model)
....
Isso me permite acessarneedsLoader
do controlador chamando@get('_model.needsLoader')
. Funciona, mas eu gostaria de fazer todo o trabalho sujo no roteador para que eu tenha uma interface limpa no meu controlador apenas para chamarmodel
como sempre.
Obrigado!