Đối với dev mới học Vue, cần nắm được các kiến thức cơ bản sau

Trang học kiến thức vue tốt nhất?
Cài đặt - Vue.js
Câu hỏi 1: Watch khác Compute thế nào?
- ****Vue và Compute đều dùng để theo dõi sự thay đổi của Property hoặc Data.
- Compute luôn phải return. Nếu return phụ thuộc vào tham số n thì khi tham số n thay đổi ⇒ compute được gọi
- . Watch thì mở rộng hơn: Watch không bắt phải return, trong Watch ta có thể theo dõi OldValue, NewValue,... Watch còn hỗ trợ custom với từ khóa: “Deep” và “Immediate”
=> Dùng compute cho những bài toán kiểm tra dài( ví dụ if -else), bài toán format chuỗi, Xử lý tính toán khi có thay đổi,...
Câu hỏi 2: Watch Deep là gì?
- Watch deep là gì => Watch deep dùng để theo dõi thay đổi khi giá trị Property trong Object thay đổi.
- Trong đa số trường hợp ta nên dùng vm.Set(target, key, value) -
- Immediate là gì? => khi gọi lần đầu hoặc ngay khi khai báo: vm.$watch('a', callback, { immediate: true })
Câu hỏi 3: Next Tick là gì?
Hãy tưởng tượng rằng bạn cần thực hiện một số hành động khi một component đã được mounted. NHƯNG! Không chỉ component. Bạn cũng cần đợi cho đến khi tất cả các phần tử con của nó được mounted và có hiệu lực trong DOM. Đây là lúc vấn đề xảy ra, mounted hook không đảm bảo rằng tất cả phần tử component đã được render.
Giá như mà có một thứ gì dùng để đợi chu kỳ cập nhật DOM tiếp theo...
Và đây là lúc để tỏa sáng:
mounted() { this.$nextTick(() => { // The whole view is rendered, // so I can safely access or query the DOM. ¯\_(ツ)_/¯ }) }