Vui lòng giải thích cho tôi tại sao tôi tiếp tục gặp lỗi này: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.
Rõ ràng, tôi chỉ nhận được nó ở chế độ dev, nó không xảy ra trên bản dựng sản xuất của tôi, nhưng nó rất khó chịu và tôi chỉ đơn giản là không hiểu những lợi ích của việc có lỗi trong môi trường dev của tôi sẽ không hiển thị trên prod - -Có thể vì sự thiếu hiểu biết của tôi.
Thông thường, sửa chữa là đủ dễ dàng, tôi chỉ bọc lỗi gây ra mã trong setTimeout như thế này:
setTimeout(()=> {
this.isLoading = true;
}, 0);
Hoặc buộc phát hiện các thay đổi với hàm tạo như sau constructor(private cd: ChangeDetectorRef) {}
::
this.isLoading = true;
this.cd.detectChanges();
Nhưng tại sao tôi liên tục gặp phải lỗi này? Tôi muốn hiểu nó để tôi có thể tránh các bản sửa lỗi này trong tương lai.