在AngularJS中定义隔离资源的常用方法是:
angular.service('TheService', function($resource){ return $resource('api/url'); });
我正在尝试找出编写与其他模型相关的模型的最佳方法,例如Order具有1个或多个OrderItems的模型。我的第一个想法是:
Order
OrderItem
OrderService
OrderItemService
order
似乎有点混乱。有没有更优雅的方式?
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 });
上面的东西可以解决您的问题吗?然后,您将其用作
var order, items; Order.get({id: 123}, function(o) { order = o; o.items(function(is) { items = is; }); });
Angular的$ resource无法理解关系。这是我们希望在1.0版之后进行更改的内容。
我不认为您不应该将数据直接放在订单上,因为它不是订单的一部分,而且由于现在也包含items对象,因此在持久化订单时会遇到问题。