一个非常菜鸟的问题:
我正在尝试使用工厂方法构建资源对象:
.factory('Magazines', [function ($resource) {
var url = document.URL;
var urlArray = url.split("/");
var organId = urlArray[urlArray.length-1];
return $resource('http://localhost/ci/api/magazines/:id', {
loginID : organEntity,
password : organCommpassword,
id : organId
});
}])
这个方法很简单,因为所有参数都是预定义的,organEntity 和organCommpassword 是在标签内定义的。
现在对于不同的资源对象,我需要在调用工厂时传入参数。
我想这个资源对象的调用代码应该是这样的:
.controller('ResrouceCtrl', function($scope, Magazines) {
$scope.magazines = Magazines.query();
});
我知道 query() 方法可以添加参数:Magazines.query(params, successcb, errorcb);
我想知道如果我只是传入参数,我可以在工厂获取参数吗?如何在工厂方法中指定这样的传入参数?
例如,现在假设我不能再从 url 中获取organId,我需要从我的控制器中传入它,如何在工厂方法中接收organId?
这是我的资源js:
.factory('MagComments', function ($resource) {
return $resource('http://localhost/dooleystand/ci/api/magCommenct/:id', {
loginID : organEntity,
password : organCommpassword,
id : '@magId' //pass in param using @ syntax
});
})
这是我的控制器:
$scope.magComments = MagComments.query({magId : 1});
我试图传入参数,但它会导致错误