Могу ли я добавить дополнительное вычисляемое свойство в Ember ArrayProxy?
Я работаю над унаследованным приложением Ember, которое выглядит немного странно, и я пытаюсь привести себя в порядок и следовать соглашениям. Одна проблема заключается в том, что вместо возврата массива изmodel
Хук индекса маршрута, мы возвращаем объект, который содержит массив. Итак, я завернуmodel
вArrayProxy
вsetupController
как это:
setupController: (controller, model) ->
model_proxy = Ember.ArrayProxy.create({content: model.get('item')})
controller.set('content', model_proxy)
Это на самом деле работает (т.е.content
обновляется, когда обещание AJAX разрешается иmodel.item
загружен данными). Проблема в том, что есть еще одно свойство наmodel
что мне тоже нужно в моем контроллере.model
имеетneedsLoader
свойство, которое инициализируется как true, а затем устанавливается в false, когда обещание разрешается. Мы используем это, чтобы показать пользователю счетчик, пока данные извлекаются с сервера.
Итак, мой вопрос: есть ли способ проксиneedsLoader
вArrayProxy
?
Одно из решений, которое я попробовал, это зацепить оригиналmodel
на контроллер нестандартным способом:
setupController: (controller, model) ->
....
controller.set('_model', model)
....
Это позволяет мне получить доступneedsLoader
от контроллера по телефону@get('_model.needsLoader')
, Это работает, но я хотел бы сделать всю грязную работу в маршрутизаторе, чтобы у меня был чистый интерфейс в контроллере, чтобы просто вызыватьmodel
по-прежнему.
Спасибо!