Ben*_*aub 10 javascript angularjs
在AngularJS中定义隔离资源的常用方法是:
angular.service('TheService', function($resource){
return $resource('api/url');
});
Run Code Online (Sandbox Code Playgroud)
我正在试图找出编写与其他模型相关的模型的最佳方法,例如Order具有1或更多OrderItems的模型.我的第一个想法是:
OrderService并OrderItemService作为独立的资源模型OrderService和监视结果数组的控制器OrderItemService所有项ID并order使用扩展信息装饰对象这看起来有点乱.有更优雅的方式吗?
Mis*_*ery 18
angular.service('OrderItem', function($resource) {
return $resource('api/url/orderItem');
});
angular.service('Order', function($resource, OrderItem) {
var Order = $resource('api/url/order');
Order.prototype.items = function(callback) {
return order.query({orderId: this.id}, callback);
}
return Order
});
Run Code Online (Sandbox Code Playgroud)
上面的东西会解决你的问题吗?然后你会用它作为
var order, items;
Order.get({id: 123}, function(o) {
order = o;
o.items(function(is) { items = is; });
});
Run Code Online (Sandbox Code Playgroud)
Angular的$资源不理解关系.这是我们想要在1.0之后改变的东西.
我不认为你应该直接把数据放在订单上,因为它不是它的一部分,并且你会有问题持久化订单,因为它现在也有items对象.