2016-09-29 2 views
0

Я немного javascript/угловатый новичок, и у меня возникли проблемы с пониманием того, как работает область действия. У меня есть следующий код, который не функционирует из-за проблемы Области применения:Проблема с 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 внутри от .then(). Как я могу правильно ссылаться на эту переменную без каких-либо проблем с областью?

Благодарим за помощь, которую вы можете дать! :)

ответ

3

Просто сохранить ссылку на контроллер в переменной, как в примере с self

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

Спасибо! Это здорово! :) – eclaire211

Смежные вопросы