Phát hiện Thay đổi có nghĩa làcập nhật DOM bất cứ khi nào dữ liệu được thay đổi. Angular cung cấp hai chiến lược để phát hiện thay đổi. Trong chiến lược mặc định của nó, bất cứ khi nào dữ liệu bị đột biến hoặc thay đổi, Angular sẽ chạy trình phát hiện thay đổi để cập nhật DOM.
Angular phát hiện thay đổi như thế nào?
Để chạy trình dò thay đổi theo cách thủ công:
- Tiêm dịch vụ ChangeDetectorRef trong thành phần.
- Sử dụng markForCheck trong phương thức đăng ký để hướng dẫn Angular kiểm tra thành phần trong lần chạy trình phát hiện thay đổi tiếp theo.
- Trên móc vòng đời của ngOnDestroy, hủy đăng ký khỏi danh sách có thể quan sát được.
Chu kỳ phát hiện thay đổi trong Angular là gì?
Trong khi phát hiện thay đổi, Angular chạyqua các ràng buộc, đánh giá các biểu thức, so sánh chúng với các giá trị trước đó và cập nhật DOM nếu cần thiết. Sau mỗi chu kỳ phát hiện thay đổi, Angular chạy kiểm tra để đảm bảo trạng thái thành phần đồng bộ với giao diện người dùng.
Phát hiện thay đổi Angular onPush là gì?
Chiến lược OnPush thay đổi hành vi phát hiện thay đổi của Angular theo cách tương tự như tách một thành phần. Tính năng phát hiện thay đổi không tự động chạy cho mọi thành phần nữa. Thay vào đó, Angularlắng nghe các thay đổi cụ thểvà chỉ chạy phát hiện thay đổi trên cây con cho thành phần đó.
Chiến lược phát hiện thay đổi là gì?
Cơ chế cơ bản của phát hiện thay đổi làđểthực hiện kiểm tra đối với hai trạng thái, một là trạng thái hiện tại, trạng thái còn lại là trạng thái mới. Nếu một trong những trạng thái này khác với trạng thái kia, thì điều gì đó đã thay đổi, nghĩa là chúng tôi cần cập nhật (hoặc kết xuất lại) chế độ xem.