[Vue] watch


本篇為《認識 Vue.js watch 監聽器》的摘要,請查看原文章。

Vue 可使用 watch 觀測資料,在資料變化時做一些應對。

用法也很直覺:

data() {
    return {
        test: 0
    }
}
watch: {
    test: function(old, new) { // watch data, computed
        console.log('changed')
    },
    '$store.state.id'(val) {  // watch object.key
        this.doSomething(val)
    }
}

options

watch: {
    test: {
        handler: function() {
            console.log('changed')
        }
        deep: true,
        immediate: true
    }
}
  • deep
    當欲觀察值的特性為 call by reference,例如 Object 時,需將 deep 值設定為 true,告知 watch 需要深度觀察。否則會因為特性關係,無法觸發監聽器。
  • immediate
    監聽器預設為當值有所變化時才會觸發。如果我們希望在初始化完成後,就先觸發,執行 handler,就可以將 immediate 值設為 true。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *