1

以下の例では、成功コールバックで、以下のサービスで定義された変数を設定しようとしています。サービスにvarauthMapを設定できません。ここで何が起こっているのですか、どうすればよいですか?

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 に答える