Câu hỏi phỏng vấn Angular
Câu hỏi

Bạn có thể cung cấp một số ví dụ cụ ...

Câu trả lời

NgZone trong Angular là một dịch vụ cho phép chúng ta thực thi mã lệnh bên trong hoặc bên ngoài Angular Zone. Việc này giúp kiểm soát quá trình phát hiện thay đổi (change detection) trong ứng dụng Angular. Dưới đây là một số ví dụ cụ thể về việc sử dụng ngZone:

  1. Chạy mã không ảnh hưởng đến phát hiện thay đổi:
    Khi bạn muốn thực hiện một hoạt động nào đó mà không muốn nó kích hoạt quá trình phát hiện thay đổi trong cây thành phần của Angular, bạn có thể sử dụng phương thức runOutsideAngular(). Ví dụ, bạn có thể muốn thêm một sự kiện lắng nghe (event listener) cho việc kéo và thả mà không muốn mỗi lần di chuyển chuột đều kích hoạt phát hiện thay đổi[4][6].

    javascript Copy
    constructor(private ngZone: NgZone) {}
    mouseDown(event: any) {
      this.ngZone.runOutsideAngular(() => {
        window.document.addEventListener('mousemove', this.mouseMove.bind(this));
      });
    }
  2. Thực thi mã bên trong Angular Zone:
    Khi bạn muốn đảm bảo rằng một hoạt động cụ thể sẽ kích hoạt quá trình phát hiện thay đổi, bạn có thể sử dụng phương thức run(). Điều này thường được sử dụng khi bạn làm việc với các API không phải của Angular hoặc sau khi thực hiện một số hoạt động bất đồng bộ[1][5].

    javascript Copy
    onClick() {
      this.ngZone.run(() => {
        this.message = 'World';
      });
    }
  3. Tối ưu hóa hiệu suất:
    Trong trường hợp bạn muốn tối ưu hóa hiệu suất bằng cách tránh việc Angular kiểm tra thay đổi không cầ...

expert

expert

Gợi ý câu hỏi phỏng vấn

middle

Activated route là gì?

entry

Angular là gì?

expert

Tương đương của AngularJS $watch trong Angular là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào