搜尋

首頁  >  問答  >  主體

javascript - vue.js 如何watch对象属性的变化

var vm = new Vue({
  data: {
    b: 'xx',
    c: 'xx',
    obj: {
        a: 'xx'
    }
  }
})

监听b: vm.$watch('b', function (val) {
xxx
})

监听obj.a应该怎么做?

伊谢尔伦伊谢尔伦2894 天前640

全部回覆(5)我來回復

  • 迷茫

    迷茫2017-04-11 09:09:05

    API文档:http://cn.vuejs.org/api/#watch

    回覆
    0
  • 阿神

    阿神2017-04-11 09:09:05

    使用深度watch:

    vm.$watch('obj', {
        deep: true,
        handler: function(val, oldVal) {}
    });

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 09:09:05

    vm.$watch('obj.a', function(newVal,oldVal){
    xxx
    });

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-11 09:09:05

    watch:{

    ['obj.a'](){}

    }

    回覆
    0
  • 阿神

    阿神2017-04-11 09:09:05

    return({
          a: 1,
          b: 2,
          list: [{
            a: '数值1'
          },{
            a: '数值2'
          },{
            a: '数值3'
          }]
        })
        list: {
        deep: true,
        handler: function(val, oldVal) {
          var list_arr = Array.from(val);
          console.log(list_arr)
        }
    }
    

    这是我写的监听数组,跟你那个类似。

    回覆
    0
  • 取消回覆