1

在下面的示例中,我试图在成功回调中设置在以下服务中定义的变量。我无法在服务中设置 var authMap。这里发生了什么,我该怎么做?

app.service("authorization", ['$http', function($http){
  this.authMap = [];
  $http.get('/authmap').success(function(data){this.authMap = data});

}]);
4

1 回答 1

2

在您的匿名回调函数中创建了一个新范围,因此this有所不同。
您可以执行以下操作:

app.service("authorization", ['$http', function($http){
  this.authMap = [];
  var that = this;
  $http.get('/authmap').success(function(data){ that.authMap = data });
}]);
于 2012-12-20T11:48:35.187 回答