vue.js 中的 watch 用于監視響應式數據屬性的變化并執行回調函數。具體使用方法是在 vue 實例中使用 watch 選項,指定表達式的映射或數組,每個表達式的變化或數組元素的變動都會觸發相應的回調函數。watch 的好處包括響應式變化檢測、回調函數、初始加載觸發和多種使用場景,例如加載數據、更新 dom 和處理數組變化。
Vue.js 中 watch 的作用
在 Vue.js 中,watch 是一個內置的響應式特性,允許您監視響應式數據屬性的變化并做出響應。簡而言之,watch 會在相關數據發生變化時執行指定的函數或回調。
如何使用 watch
要使用 watch,您可以在 Vue 實例中使用 watch
選項。該選項接受一個包含表達式或數組到回調函數映射的對象,如下所示:
<code class="javascript">export default { watch: { // 表達式:當表達式值發生變化時執行回調函數 '$route.params.id': (newValue, oldValue) => { // ... }, // 函數:當指定函數返回的新值與舊值不相等時執行回調函數 computedProp: (newValue, oldValue) => { // ... }, // 數組:監視數組中的每個項目的變動并執行回調函數 items: { handler: (newValue, oldValue) => { // ... }, // 可選的:允許在初始加載時觸發回調函數 immediate: true } } }</code>
登錄后復制
watch 的好處
使用 watch 有以下好處:
響應式變化檢測:watch 會自動跟蹤響應式數據的變化,因此您不必手動檢查差異。
回調函數:watch 允許您在數據變化時執行特定的動作或更新其他數據。
初始加載:您可以使用 immediate: true
選項在初始加載時觸發回調函數,從而在頁面加載后立即執行操作。
使用場景
一些典型的 watch 使用場景包括:
根據路由參數加載數據
根據計算屬性更新 DOM
在數組發生變化時更新列表
在初始加載時執行異步操作