我必须从基于事件的回调函数更新数组(在我的 html 模板中)。但当我在回调中访问它时,它是未定义
。
export class HomePage {
constructor(public navCtrl: NavController) {
let consumer: string[]; // <=== Updating this array
const realtime = new Ably.Realtime('API-KEY');
const channel = realtime.channels.get("test");
channel.subscribe((msg) => {
console.log("Received: " + msg.data);
consumer.push(msg.data); // <=== but "consumer is undefined here"
});
}
}
HTML 模板
<div>
<ul *ngFor="let item of consumer">
<li>{{item}}</li>
</ul>
</div>
最佳答案
移动let consumer: string[]; // <=== Updating
该数组位于构造函数之外 -> 例如位于其上方。
然后,删除 'let' 关键字并将其初始化为空数组 = []; 现在您可以在模板中使用它。
关于angular - 从事件回调更新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46683603/