TypeError:无法设置未定义的属性“ ar”

时间:2018-09-17 23:17:34

标签: javascript arrays typescript

我首先设置了变量ar。 像

export class HomePage {
ar:any;
 ... 
 ...
constructor( ...){
 ar=new Array();
...
this.loadEvent();
}

然后,在构造函数的触发函数上,

enter image description here

我将上方功能调整为下方

enter image description here

为什么不能将Firebase中的值放入变量ar?

1 个答案:

答案 0 :(得分:2)

之所以会这样,是因为传递给this的函数内部的.then与函数外部的this不同。阅读https://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/,了解原因。

要解决此问题,而不是

function (snapshot) {}

您需要做

(snapshot) => {}

从外部范围维护this的值。