我正在尝试将1.4 AngularJS指令重构为1.5组件。我通过删除$ scope并将其替换为this
来尝试此操作。
到目前为止它工作正常,除了:我需要在回调函数中设置一个$scope
变量。像这样:
this.variable = {};
someFunction().then(function(newValue) {
this.variable = newValue;
});
但是,
this
在回调函数中未定义。
设置this.variable
的值的变通办法或正确方法怎么样?
答案 0 :(得分:3)
您需要将范围分配给您的函数:
this.variable = {};
someFunction().then(function(newValue) {
this.variable = newValue;
}.bind(this));
答案 1 :(得分:0)
你的函数中的this
指的是funtion
本身,这就是你未定义的原因。
将全局this.variable = {}
更改为$scope.variable={}
并在函数内调用它。