Câu hỏi phỏng vấn Vue.js
Câu hỏi

Vòng đời của Vuejs là gì?

Câu trả lời

Trong Vue.js, vòng đời của một component được quản lý thông qua một loạt các "lifecycle hooks" (móc vòng đời), cho phép bạn thêm mã của mình vào các giai đoạn cụ thể trong quá trình khởi tạo, cập nhật, và hủy bỏ component. Dưới đây là một số lifecycle hooks quan trọng và mô tả về chúng:

  1. beforeCreate: Được gọi ngay sau khi instance được khởi tạo, trước khi thiết lập dữ liệu và sự kiện.
  2. created: Được gọi sau khi instance được tạo, tại thời điểm này, Vue đã thiết lập dữ liệu phản ứng, tính toán thuộc tính, phương thức, và sự kiện nghe nhưng chưa mount DOM hoặc chạy $el.
  3. beforeMount: Được gọi ngay trước khi component được mount vào DOM. Tại thời điểm này, template hoặc render function đã được biên dịch nhưng chưa được render hoặc mount.
  4. mounted: Được gọi sau khi component được mount vào DOM. Tại thời điểm này, bạn có thể truy cập đến DOM của component và thực hiện các thao tác DOM hoặc khởi tạo thư viện bên ngoài.
  5. beforeUpdate: Được gọi khi dữ liệu thay đổi trước khi DOM được cập nhật. Đây là nơi bạn có thể thực hiện các thay đổi hoặc tính toán trước khi DOM được cập nhật.
  6. updated: Được gọi sau khi dữ liệu thay đổi và DOM đã được cập nhật. Nếu bạn cần thực hiện các thao tác dựa trên việc cập nhật DOM, đây là nơi để làm điều đó.
  7. beforeUnmount: Được gọi ngay trước khi một component bị hủy bỏ. Sử dụng hook này để dọn dẹp hoặc hủy các tài nguyên như bộ đếm thời gian hoặc sự kiện nghe.
  8. unmounted: Được gọi sau khi component bị hủy bỏ và gỡ bỏ khỏi DOM. Tại thời điểm này, tất cả các bộ đếm thời gian hoặc sự kiện nghe liên quan đến component nên được dọn dẹp.

Các lifecycle hooks cung cấp cơ hội để thực hiện các tác vụ cụ thể tại các điểm khác nhau trong vòng đời của component, từ khởi tạo đến hủy bỏ, giúp quản lý tài nguyên và tối ưu hóa hiệu suất ứng dụng một cách hiệu quả.

junior

junior

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

junior

Watchers trong Vuejs là gì?

middle

Sự khác nhau giữa computedmethods trong VueJs là gì?

middle

So sánh vuexpinia?

Bình luận

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

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