Trong hầu hết các trường hợp, các kết quả của <custom-resource>.query()
phương pháp là một mảng, có thể dễ dàng mở rộng với một số phương pháp (logic kinh doanh) như sau (nhà máy) mã:
var Data = $resource('http://..');
Data.prototype.foo = function() {return ...};
này là hoàn hảo cho sử dụng với ng-repeat/ng-class, như vậy:
<tr ng-repeat="item in responseData" ng-class="{warning: item.foo()}">..</tr>
vấn đề của tôi là mỗi phản ứng danh sách được đóng gói trong một đối tượng đó, bên cạnh những danh sách thực tế, có một số meta- tính chất (sắp xếp thông tin, vv), vì vậy đối tượng cuối cùng được trả lại là như sau:
{ order_field: "name", items: [{..}, {..},{..}] }
Bây giờ, làm cách nào để làm điều tương tự như trước đây với ng-repeat/ng-class?
<tr ng-repeat="item in responseData.items" ng-class="????">..</tr>
các phương pháp trước đó sẽ không làm việc như là phương pháp "foo" được định nghĩa trên responseData
và NOT trên item
đối tượng
Có cách nào để trực tiếp mở rộng các lớp cơ sở sử dụng cho instantiating đối tượng trong danh sách ?
Cảm ơn!
Tôi nghĩ đây là một giải pháp vững chắc. Nó không cảm thấy _perfect_ với tôi, nhưng nó là tốt nhất tôi đã nhìn thấy :) –
Cảm ơn bạn đã trả lời này. –