12/08/2018, 17:24

Vài điều nên tránh khi code Vue

Data/computed tĩnh Khi bạn định nghĩa các data/computed tĩnh, Vue sẽ khiến các thuộc tính này reactive và điều này là không cần thiết vì bạn sẽ không thay đổi nó. Giải pháp là đưa những thuộc tính này vào object vm.$options Một vài loại data non-reactive nhưng bạn lại nghĩ là reactive ...

Data/computed tĩnh

Khi bạn định nghĩa các data/computed tĩnh, Vue sẽ khiến các thuộc tính này reactive và điều này là không cần thiết vì bạn sẽ không thay đổi nó. Giải pháp là đưa những thuộc tính này vào object vm.$options

Một vài loại data non-reactive nhưng bạn lại nghĩ là reactive

Vue sẽ không biết được khi nào thì cookies update, nên ví dụ dưới đây sẽ không hoạt động:

Thay vì thế, bạn hãy sử dụng methods để update thủ công:

Sử dụng mixins cho những việc vốn chỉ cần thực hiện 1 lần

Như ví dụ dưới đây, việc thêm global mixins khiến cho nó được gọi ở mọi components, tuy nhiên việc này không cần thiết

Thay vào đó, chúng ta có thể thức hiện việc này một lần duy nhất ở root instance và sử dụng kết quả thông qua $root

Sử dụng không đúng setTimout/setInterval

Việc gọi setTimout/setInterval mà không clearInterval hoặc clearTimeout có thể gây ra lỗi khi unmmout component.

Việc nên làm là sử dụng clearInterval ở hook beforeDestroy để xóa interval

Mutating parents data

Vue sẽ cảnh báo nếu bạn mutete props nhưng Vue lại không thể phát hiện việc bạn thay đổi data của parent thông qua $parent

Hãy emit event ở component con và lắng nghe event ở component cha để làm điều đó

MOdifier .sync sẽ giúp bạn làm việc này đơn giản hơn

Tự validate from data

Thực ra việc này không phải là cần tránh, mà chỉ là sugguest. Nếu việc code phần validate khiến code của bạn phình to quá

thì có thể thử sử dụng v-validate giúp code clean hơn nhiều

Trên đây là một số điều có thể bạn sẽ gặp phải trong quá trình sử dụng Vue. Chúc các bạn thành công!

0