首页 > 其他 > 详细

Vue监听属性 — watch

时间:2021-04-20 09:16:01      阅读:14      评论:0      收藏:0      [点我收藏+]

watch属性监听Vue实例中的所有变量和计算结果

监听data中的自定义变量

watch: {
  num(newVal, oldVal) {
    // newVal 变量num改变后的值
    // newVal 变量num改变前的值
    // 当变量num发生改变,执行当前回调
  },
},
data() {
  return {
    num: 1,
  };
}

监听computed计算属性的计算结果

watch: {
  site(newVal, oldVal) {
    // newVal 计算属性site计算后的值
    // newVal 计算属性site计算前的值
    // 当计算属性site的计算结果发生改变,执行当前回调
  },
},
computed: {
  site: {
    get() {
      return this.num;
    },
  },
},

watch监听属性辅助选项

选项:deep

watch: {
  obj: {
    handler(newVal, oldVal) {
      console.log("newVal ===>>>", newVal);
      console.log("oldVal ===>>>", oldVal);
    },
    deep: true,
  },
},
data() {
  return {
    obj: {
      name: "张三",
      sex: "18",
    },
  };
}

deep选项为true时, 可进行指针的深度监听,不只是对象,数组也是同样会被深度监听

选项:immediate

watch: {
  obj: {
    handler(newVal, oldVal) {
      console.log("newVal ===>>>", newVal);
      console.log("oldVal ===>>>", oldVal);
    },
    deep: true,
    immediate: true,
  },
}

immediate选项为true时,当前监听回调函数会在Vue实例加载时立即触发回调

Vue监听属性 — watch

原文:https://www.cnblogs.com/Function-cnblogs/p/14679404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!