비동기 콜백 함수에서 머티리얼 구성 요소의 상태를 전환하는 중에 문제가 발생했습니다.chrome storage : 콜백 함수에서 구성 요소 상태를 변경할 수 없습니다.
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)
}
참고 : 확실히 문제가 렌더링에있다. 이 버튼과 완전히 짝을 이루는 버튼을 클릭하면이 컴포넌트가 올바르게 렌더링됩니다.
작업 콜백에 시간 초과 값을 추가해도 여전히 작동합니까? –
예, 방금 언급 한 것을 잊었습니다. 완벽하게 잘 작동합니다. –