标题说明了一切:这是我的代码。
export class MapComponent {
@ViewChild(DirectionsMapDirective) vc:DirectionsMapDirective;
directionLst : any;
constructor() {
this.directionLst = [];
}
mapClicked = function($event: MouseEvent) {
[...] //hidden code not important
this.vc.updateDirections().then(function(data) {
this.directionLst = data;
});
}
现在,如果您查看“mapClicked”中的代码,我会在调用“updateDirections()”后收到一个承诺,收到的数据是A1。问题是在then函数中“this”指向null,如果我只使用“directionLst = data”,我得到的直接是未定义的。如何从此函数访问变量?顺便说一句,这当然是打字稿。