我是angularjs的新手,并试图访问一个使用$ resource来调用我的rest api的服务方法。但是,当我试图访问它给出错误。当我尝试访问不使用$ resource的方法时,它工作正常。
这是我的代码。
app.factory('userService', ['$resource',
function($resource) {
var factory = {};
factory.authenticatedUser;
factory.test = function(){
return "Test";
};
factory.getLoggedInUser = function(){
$resource('api/user', {}, {
query: {method: 'GET'}
});
};
factory.getAuthenticatedUser = function(){
return factory.authenticatedUser;
};
factory.setAuthenticatedUser = function(user){
factory.authenticatedUser = user;
};
return factory;
}]);
这里是我试图访问该方法的方法。
userService.getLoggedInUser.query(function(loggedInUser) {
});
这会引发以下错误。
TypeError: userService.getLoggedInUser.query is not a function
但这很好用。
var text = userService.test();
我在这里做错了什么?
答案 0 :(得分:1)
您需要添加$符号。并从函数
返回$ resource对象factory.getLoggedInUser = function(){
return $resource('api/user', {}, {
query: {method: 'GET'}
});
};
userService.getLoggedInUser().$query(function(loggedInUser) {
});