2017-05-23 1 views
0

저는 Angular를 처음 사용하고 있습니다. 사용자 로그인을 위해 로그인 양식을 설정하고 싶습니다. 나는이 서비스를

Cannot read property 'setUserPass' of undefined

: 나는이 오류가

 var username="xxxx"; 
     var password="xxx"; 
     var self = this; 
     loginSvc().setUserPass(self.username,self.password); 
     self.auth = loginSvc().get();`enter code here` 

가 어떻게 내 서비스에 대한 사용자 이름과 암호를 전달해야합니다

(function(){ 
    var app = angular.module('myapp'); 
    app.service('loginSvc',function($resource){ 
     var username=""; 
     var password=""; 
     self=this; 

     self.setUserPass=function(user,pass){ 
      self.username=user; 
      self.password=pass; 
     }; 

     return $resource("http://localhost:8080/user",{}, 
       {get: {method:'GET', 
       headers : { authorization : "Basic "+ 
       btoa(self.username+":"+self.password)}}}); 
     }); 

})(); 

와 컨트롤러의

?

답변

-1

컨트롤러에 서비스를 주입했는지 확인하고 할당 한 참조를 사용하십시오.

시도 :

angular.module('myapp') 
     .controller('UserCtrl', ['loginSvc', function (loginSvc) { 
     var username="xxxx"; 
     var password="xxx"; 
     var self = this; 
     loginSvc.setUserPass(self.username,self.password); 
     self.auth = loginSvc.get(); 
     }]); 
+0

예 내가 하드 서비스에 암호와 사용자 이름을 코딩하는 경우 정확히 같은, 그것은 작동하지만 – max

+0

당신이 loginSvc.setUserPass을 (시도해 봤어 :-(매개 변수와 함께 작동하지 않습니다 주입을 setUserPass (self.username, self.password) ;? –

+0

예, 작동하지 않습니다! – max

관련 문제