В большинстве случаев результатом метода <custom-resource>.query()
является массив, который может быть легко расширен с помощью некоторых методов (бизнес-логик) со следующим кодом (factory):
var Data = $resource('http://..');
Data.prototype.foo = function() {return ...};
это идеально подходит для использования с ng-repeat/ng-классом, например:
<tr ng-repeat="item in responseData" ng-class="{warning: item.foo()}">..</tr>
Моя проблема заключается в том, что каждый запрос ответа инкапсулирован в объект, который, помимо фактического списка, имеет некоторые мета-свойства (сортировка информации и т.д.), поэтому последний возвращаемый объект выглядит следующим образом:
{ order_field: "name", items: [{..}, {..},{..}] }
Теперь, как мне сделать то же, что раньше, с ng-repeat/ng-class?
<tr ng-repeat="item in responseData.items" ng-class="????">..</tr>
предыдущий метод не будет работать, поскольку метод "foo" определен на responseData
и NOT на item
object
Есть ли способ напрямую расширить базовый класс, используемый для создания объектов в списке?
Спасибо!