2016-09-29 4 views
0

저는 자바 스크립트/앵귤러 초보자입니다. 범위가 어떻게 작동하는지 이해하는 데 어려움을 겪고 있습니다.AngularJS의 스코핑 문제

각도 :

this.myFxn = function() { 
    var x = this.myModel; //this.myModel is set by an ng-model in the html 
    myService.myServiceFxn(x.Id) 
     .then(function (response) { 
      this.myModel = ""; 
     }); 
}; 

나는 문제는 그 때는 내부 this.myModel 내 참조()을 믿고 나는 인해 범위 문제로 작동하지 않는 다음과 같은 코드가 있습니다. 범위 문제없이이 변수를 올바르게 참조하려면 어떻게해야합니까?

도움을 주셔서 감사합니다. :)

답변

3

그냥 self

this.myFxn = function() { 
    var self = this; 
    myService.myServiceFxn(self.myModel.Id) 
     .then(function (response) { 
      self.myModel = ""; 
     }); 
}; 
+0

와 예와 같이 변수에 컨트롤러에 대한 참조를 유지 주셔서 감사합니다! 이것은 훌륭하게 작동했습니다! :) – eclaire211