在下面的示例中,我尝试在成功回调中设置以下服务中定义的变量。我无法在服务中设置var authMap。这里发生了什么,我该怎么做?
app.service("authorization", ['$http', function($http){
this.authMap = [];
$http.get('/authmap').success(function(data){this.authMap = data});
}]);
答案 0 :(得分:2)
在您的匿名回调函数中创建了一个新范围,因此this
是不同的
你可以这样做:
app.service("authorization", ['$http', function($http){
this.authMap = [];
var that = this;
$http.get('/authmap').success(function(data){ that.authMap = data });
}]);