网站链接: 我爱捣鼓
当前位置: 首页 > 前端开发 > Vue

vue watch如何侦听数组的变化?

2023/5/6 21:38:46

watch是什么? watch:是vue中常用的侦听器(监听器),用来监听数据的变化。watch的使用watch: { 这里写你在data中定义的变量名或别处方法名: { handler(数据改变后新的值, 数据改变之前旧的值) { 这里写你…

  • watch是什么?

        watch:是vue中常用的侦听器(监听器),用来监听数据的变化。

  • watch的使用

watch: {

        这里写你在data中定义的变量名或别处方法名: {

                handler(数据改变后新的值, 数据改变之前旧的值) {

                                这里写你拿到变化值后的逻辑

                        }

                }

        }

  • watch监听简单案例(监听一个)

<template>
  <div>
    <div>
      <input type="text" v-model="something">
    </div>
  </div>
</template>
<script>
  export default {
    name: "AboutView",
    components: {},
    data() {
      return {
         something: ""
      }
    },
    watch: {
        //方法1
       "something"(newVal, oldVal) {
          console.log(`新值:${newVal}`);
          console.log(`旧值:${oldVal}`);
          console.log("hellow  world");
      }
        //方法2
        "something": {
            handler(newVal, oldVal) {
              console.log(`新的值: ${newVal}`);
              console.log(`旧的值: ${oldVal}`);
              console.log("hellow  world");
            }
          }
        }
      }
 
</script>
  • watch如何侦听数组的变化?

        如果只是监听数组列表项的增减(长度),比如push进数组,直接对数组进行监听,使用普通的监听:

data () {
    return {
        demo: [1,2]
    }
},
watch: {
    demo(val){
        console.log(val)
    }
},
this.demo.push(3)  //[1,2,3]

        要想监听数组值,对象里面值的变化需要深度监听,加上deep属性进行深度监听

watch: {
  bookList: {
    handler(val, oldVal) {
      console.log('book list changed')
    },
    deep: true
  },
}

        tis:监听数组的变化最好指定:deep

        通过以上内容我们知道了vue watch如何侦听数组的变化。感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!

相关资讯

  • vue兄弟平级组件如何传递参数值?

    vue组件传值不外乎三种,父传子、子传父、平级,今天我们就来着重说说vue平级组件如何传递参数值? 假设你有两个Vue组件需要通信: A 和 B ,A组件按钮上面绑定了点击事件,发送一则消息,B组件接收。初始化,全局创建$bus 直接在项目中的 main.js 初始化 …

    2023/1/7 13:08:32