我想知道如何在isArray
中设置resource
参数,因为有时我希望它是true
,有时候false
这是我的资源工厂代码
dummyServices.factory('Dummy', ['$resource',
function ($resource) {
return $resource('http://dummyServer/dummyApp/dummyREST/:methodName', {}, {
query: {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
isArray: false // <-- isArray: someParameter ???
}
});
}]);
我这样用:
$scope.myDummyObj = Dummy.query(
{
methodName: 'dummyMethod'
},
myDummyArgument
);
如何从isArray
来电中设置Dummy.query
?
答案 0 :(得分:5)
正如您可能已经知道的那样,$ resource从未打算成为更强大的$ http服务的替代品,因此,作者只是不打算暴露更强大且可配置的API。
也就是说,在运行时配置资源的唯一方法是将其包装在自己的自定义工厂中。但这只会让事情变得更加丑陋,IMO。
app.factory('Dummy', [
'$resource',
function ($resource) {
return function(config){
return $resource('http://dummyServer/dummyApp/dummyREST/:methodName', {}, {
query: angular.extend({
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
isArray: false // <-- isArray: someParameter ???
}, config)
});
};
}
]);
控制器:
$scope.myDummyObj = Dummy({isArray: true, method: 'GET'})
.query({methodName: 'dummyMethod'});