我有以下代码:
angular.module('myApp').factory 'Product', ($resource) ->
Product = $resource '/api/v1/products/:id', {},
all: { method: 'GET', isArray: true }
edit: { method: 'GET', url: '/api/v1/products/:id/edit' }
Product.prototype.images = ->
this.$promise.then (data) ->
image = $resource "/api/v1/products/#{data.id}/images"
image.query().$promise.then (data) -> data
return Product
原型上定义的images
方法有效,但我想知道是否可以使用我用来定义all
和edit
的自定义方法DSL?
我该怎么做?
答案 0 :(得分:0)
是的,您可以定义获取特定产品图像的方法,一种方法是将资源配置更改为默认为资源的ID"实例"并将控制器变量添加到资源路由。
$resource '/api/v1/products/:id/:controller', { id: '@id' },
all:
method: 'GET'
isArray: true
edit:
method: 'GET'
params: controller: 'edit'
getImages:
method: 'GET'
isArray: true
params: controller: 'images'
现在您可以直接从资源中调用该方法:Product.getImages({id: 'aProductId'})
或来自实例:product.$getImages()