2
안녕하세요 모두 저는 각진 공장에서 어떤 문제가 있습니다. 공장에서 내 컨트롤러의 함수를 호출하려고 시도하면이 함수는 동일한 공장 내의 다른 함수를 this
으로 호출합니다.공장 출하시 공장 출입시 접근 방법입니다. 그리고 정의되지 않은 함수를 얻습니다.
angular.module('psJwtApp').controller('HeaderCtrl', function ($scope, authToken) {
$scope.isAuthenticated = authToken.isAuthenticated;
});
어떤 도움을 주시면 더 좋구요 :하지만 난 항상 콘솔
angular.module('psJwtApp').factory('authToken', function ($window) {
var storage = $window.localStorage;
var cachedToken;
return {
setToken: function(token){
cachedToken = token;
storage.setItem('userToken', token);
},
getToken: function(){
if(!cachedToken)
{cachedToken = storage.getItem('userToken');}
return cachedToken;
},
isAuthenticated: function() {
return !!self.getToken();
}
};
});
가 그럼 난 내 각 컨트롤러에 전화를 "정의되지 않은 오류가 함수가 아닙니다"얻는다. 나는 getToken
을 this
으로, self
으로, authToken.getToken
으로 전화를 시도했다. 아무것도. 내가 콘솔을 나가면 authToken.getToken
나는 undefined
가된다. 어떤 아이디어가 계속 될 수 있습니까?
여기서'var self = this'는 무엇입니까? 너 잊어 버린 것 같아? – anvarik
나는 문제의 하나가 당신이'()'메소드 호출의 끝에 누락되었다고 생각한다 :'$ scope.isAuthenticated = authToken.isAuthenticated();'. –
@ ViníciusGobboA.deOliveira 제안에 감사드립니다. authToken.isAuthenticated(); 아직 정의되지 않은 것은 함수가 아닙니다. – jsrosas