监听数组数据是否发生了变化

在vue 的页面中,data 是渲染表格的一个数据,如何去监听或者用watch去侦查data发生了变化?

data: [
     {
         name: 'John Brown',
         age: 18
     },
     {
         name: 'Jim Green',
         age: 24
     },
     {
         name: 'Joe Black',
         age: 30,
         address: 'Sydney No. 1 Lake Park',
         date: '2016-10-02'
     }]
阅读 17.4k
5 个回答
  1. 如果只是监听数组列表项的增减,直接对数组进行监听就好了
watch:{
  data (newVal,oldVal) {
    
  }
}
  1. 如果是要对数组列表项的内容是否发生改变做监听,需要加上一个deep:true
data: {
    handler(newVal, oldVal) {
        console.log('深度监听', newVal, oldVal)
    },
    deep: true
}
watch:function(old,newval){
    data:return newval
}

我之前写过类似的,可以写一个函数去操作表格里面的数据,然后用watch去监听这个函数,大概这样子,watchData(){//....} watch: {你要监听的参数:'watchData'}

用watch啊 类似这样的

watch:{
  data (newValue,old) {
    
  }
}

用深拷贝重新生成一个对象 来观察这个心的对象就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题