我尝试使用settimeout(或任何其他回调)更新字符串(类\ tag),但没有成功,它与按钮完美配合(当用户点击时按钮更新),但它不适用于JS settimeout。 你能告诉我我在这里错过了什么吗?
以下是我的代码示例:
export class Page1 {
constructor() {
this.greet = "Hi, ";
setTimeout(function(){
this.greet = "Hello, ";
alert("Done");
}, 3000);
}
}
正如您在这个简单的代码中看到的那样,我可以看到警报"完成" 3秒后,问候语没有更新,我应该以某种方式刷新它吗?
感谢您的帮助!
叶兰。
答案 0 :(得分:6)
在你的方式this
里面,setTimeout回调不是Page1
类的实例。您需要使用箭头功能来保留上下文:
setTimeout(() => { // <===
this.greet = "Hello, ";
alert("Done");
}, 3000);
,请参阅此链接