【发布时间】:2017-12-03 01:08:22
【问题描述】:
我在从异步回调函数切换材质设计组件的状态时遇到问题。
HTML 标记
<mat-slide-toggle
class="example-margin"
[color]="color"
[checked]="checked">
</mat-slide-toggle>
不起作用 我确信回调函数会获取它需要的所有内容的上下文,包括“this.checked”变量,但由于某种原因,它没有传播到材料设计组件。
checked:boolean;
ngOnInit() {
chrome.storage.local.get('isActive', (data) => {
console.log(data); // {isActive:true}
console.log(this); //context is visible
this.checked = data.isActive; //true
console.log(this.checked); //true
});
}
工作。 这个回调函数工作正常。
checked:boolean;
ngOnInit() {
setTimeout(() => {
this.checked = true;
}, 5000)
}
注意:渲染肯定存在问题。当我单击一些与此完全无关的按钮时,该组件会正确重新渲染。
【问题讨论】:
-
在工作回调中添加超时值是否仍然有效?
-
是的,我只是忘了在这里提及。它工作得很好。
标签: javascript angular typescript google-chrome-extension