鍍金池/ 問答/HTML/ vue watch

vue watch

var vm = new Vue({  
        el: '#app',
        data() {
          return {
            bet: {
              pokerState: 53,
              pokerHistory: 'local'
            }   
            }
        },
        watch: {
          bet: {
            handler(newValue, oldValue) {
                console.log(oldValue)
              console.log(newValue)
            },
            deep: true
          }
        }
      }); 
      vm.bet.pokerState = 30

上述代碼是監(jiān)聽對(duì)象的變化,我并沒有想監(jiān)聽具體屬性,為什么oldValue 也是30呢,

回答
編輯回答
厭遇

文檔鏈接
clipboard.png
給bet賦值一個(gè)新對(duì)象替換就可以了vm.bet = Object.assign({}, vm.bet, {pokerState:30})

2017年6月22日 13:31
編輯回答
笨尐豬

deep:true 是深度監(jiān)聽 具體的屬性

clipboard.png

他不支持傳參為具體的對(duì)象

2017年9月7日 14:09