1

我正在学习 AngularJS,但我在服务方面遇到了一点问题。官方教程给出了一个使用 REST 的自定义服务示例:

angular.module('phonecatServices', ['ngResource']).
    factory('Phone', function($resource){
        return $resource('phones/:phoneId.json', {}, {
            query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
        });
    });

所以我用不同的名称/网址制作了相同的代码,它可以工作。

我想向该服务传递一个参数(url 中的一个 id)。我尝试在其中使用 $routeParams 但它没有用。最后我找到了另一种在同一个服务中声明多个函数的方法,所以我做了:

factory('Article', function($resource) {
    return {
        getList: function(categoryId) {
                return $resource('http://...', {
                    query: {method:'GET', isArray:true}
                });
            }
        }
    })

但它不适用于 REST 调用(例如,返回 'Hello' 没关系)。

你知道怎么做吗?

谢谢 !

4

1 回答 1

3

听起来您没有将参数传递给查询函数。

angular.module('Article', ['ngResource']).
    factory('Phone', function($resource){
        return return $resource('http://.../:articleId', {
                query: {method:'GET', isArray:true}
            });
    });
});

然后在你的控制器中。

Article.query({
  articleId : someVar
});
于 2013-05-04T17:59:52.917 回答