Я новичок в angularjs и пытаюсь получить доступ к методу службы, который использует $ resource для вызова моего отдыха 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();
Что я здесь делаю неправильно?
'getLoggedInUser' - это функция. Почему, по-вашему, у него есть поле с именем 'query' функции типа? –
Я нахожусь в начальной точке с угловым и не имею понятия о том, как это исправить. что мое требование состоит в том, чтобы сохранить зарегистрированный пользовательский объект внутри службы, чтобы я мог получить его для последующего использования. –
Это не имеет особого отношения к угловому. Вы пытаетесь получить доступ к атрибуту, который не существует. getLoggedInUser - это функция, которую вы определили. У него нет атрибута запроса. Обратите внимание, что вы никогда не вызываете * функцию. Также обратите внимание, что даже если вы его вызвали, он ничего не возвращает. –