如何在回调函数中的Angular 1.5组件中处理这个?

时间:2016-03-10 08:22:28

标签: javascript angularjs

我正在尝试将1.4 AngularJS指令重构为1.5组件。我通过删除$ scope并将其替换为this来尝试此操作。

到目前为止它工作正常,除了:我需要在回调函数中设置一个$scope变量。像这样:

this.variable = {};

someFunction().then(function(newValue) {
  this.variable = newValue;
});
  

但是,this在回调函数中未定义。

设置this.variable的值的变通办法或正确方法怎么样?

2 个答案:

答案 0 :(得分:3)

您需要将范围分配给您的函数:

this.variable = {};

someFunction().then(function(newValue) {
  this.variable = newValue;
}.bind(this));

答案 1 :(得分:0)

你的函数中的this指的是funtion本身,这就是你未定义的原因。

将全局this.variable = {}更改为$scope.variable={}并在函数内调用它。