AngularJS中的服务
我正在学习AngularJS,我对服务有点问题。官方教程提供了一个使用REST的自定义服务示例:AngularJS中的服务,angularjs,angularjs-service,Angularjs,Angularjs Service,我正在学习AngularJS,我对服务有点问题。官方教程提供了一个使用REST的自定义服务示例: angular.module('phonecatServices', ['ngResource']). factory('Phone', function($resource){ return $resource('phones/:phoneId.json', {}, { query: {method:'GET', params:{phoneId:'p
angular.module('phonecatServices', ['ngResource']).
factory('Phone', function($resource){
return $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
});
因此,我用不同的名称/url编写了相同的代码,并且可以正常工作
我想向该服务传递一个参数(url中的id)。
我尝试在其中使用$routeParams,但没有成功。最后,我找到了另一种方法来声明同一服务中的多个函数,因此我提出:
factory('Article', function($resource) {
return {
getList: function(categoryId) {
return $resource('http://...', {
query: {method:'GET', isArray:true}
});
}
}
})
但是对于REST调用来说,它不起作用(例如,返回'Hello'就可以了)
你知道怎么做吗
谢谢大家! 听起来好像您没有将参数传递到查询函数中
angular.module('Article', ['ngResource']).
factory('Phone', function($resource){
return return $resource('http://.../:articleId', {
query: {method:'GET', isArray:true}
});
});
});
然后在你的控制器里
Article.query({
articleId : someVar
});
谢谢你的回答,很有效。我只是想知道,在AngularJS中,一个具有多个功能的服务是否是好方法?看看文档页面,在您的资源设置中,您可以提供自定义功能(在信用卡示例中收费),假设我遵循您的问题。