这个代码有什么问题,我试图让一个服务方法指向不同的restful服务吗?
var phonecatServices = angular.module('phonecatServices', ['ngResource']);
phonecatServices.factory('Phone', ['$resource',
function ($resource) {
return {
pList: $resource('/:url/:phoneId.json.htm', {}, {
query: { method: 'GET', params: { url: 'MyAngularScripts', phoneId: 'jsonPhonedata' }, isArray: true }
}),
pDetail: $resource('/Content/PhonesData/:phoneId.json.htm', {}, {
query: { method: 'GET', params: { phoneId: $routeParams.phoneId }, isArray: false }
})
};
}]);
然后在我的控制器中,我像这样调用pList:
$scope.phones = Phone.pList.query();
使用上面的任何代码都不会调用服务方法。但是,如果我将服务更改为:
var phonecatServices = angular.module('phonecatServices', ['ngResource']);
phonecatServices.factory('Phone', ['$resource',
function ($resource) {
return $resource('/:url/:phoneId.json.htm', {}, {
query: { method: 'GET', params: { url: 'MyAngularScripts', phoneId: 'jsonPhonedata' }, isArray: true }
});
}]);
并从控制器那里打电话:
$scope.phones = Phone.query();
IT工作。我有多个restful调用声明的服务有什么问题?它配置的方式或我调用它的方式有问题吗?
答案 0 :(得分:0)
第一种方法也应该正常工作。
唯一的问题是你试图访问$routeParams
的属性,而不先通过DI注入它,从而导致抛出错误。
如果你纠正这个,一切都应该按预期工作。