Vue 中 watch 是一種響應式函數,用於監聽資料屬性值的變化並執行回呼函數。基本用法是 watch(property, handler),其中 property 是要監視的屬性或屬性數組,handler 是回調函數。它還可以配置選項對象,例如 immediate(立即呼叫)和 deep(深度監聽)。 watch 適用於需要對資料屬性值的變更做出反應的情況,例如更新 UI 或非同步載入資料。
Vue 中watch 的用法
什麼是watch
watch 是Vue 中一個響應式函數,它允許您監聽資料屬性值的變化並執行回呼函數。當被監視的屬性發生改變時,回調函數會被調用,您可以在其中執行任何必要的更新或操作。
語法
<code class="js">watch(property, handler)</code>
基本用法
要監視某個屬性,只要傳入屬性名稱和一個回呼函數:
<code class="js">watch('count', (newValue, oldValue) => { // count 的新值是 newValue,旧值是 oldValue })</code>
監視多個屬性
要一次監視多個屬性,可以傳遞一個屬性數組:
<code class="js">watch(['count', 'name'], (newValue, oldValue) => { // 监视的值在 newValue 中作为对象提供,键为属性名 })</code>
選項物件
您可以使用選項物件來配置watch 行為:
<code class="js">watch({ count: { handler(newValue, oldValue) { // ... }, immediate: true, deep: true } })</code>
高階用法
監聽特定屬性路徑
使用點表示法可以監聽物件屬性路徑的變化:
<code class="js">watch('user.name', (newValue, oldValue) => { // ... })</code>
使用return 值
watch 回呼函數可以傳回一個函數或一個包含unwatch 函數的Promise:
何時使用watch
watch 適用於需要對資料屬性值的變化做出反應的情況,例如:
替代方案
在某些情況下,computed properties 可能是watch 的替代方案。但是,computed properties 是派生的,這意味著它們的值是由其他響應式屬性計算出來的。
以上是watch在vue中的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!