Vue watch和computed快速上手

本文探讨Vue中计算属性和侦听器的使用方法,包括如何通过计算属性简化模板逻辑,以及如何利用侦听器监测数据变化。通过具体代码示例,展示了计算属性和侦听器在实际项目中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
  <div class="home">
    <div>计算的属性{{watchNuber}}</div>
    <div>{{watchNuberAfter}}</div>
    <img src="@/assets/images/wxy.jpg" alt srcset @click="handleWatchClick" />
  </div>
</template>

<script>
// @ is an alias to /src
import HelloWorld from "@/components/HelloWorld.vue";
// import returnValue from "@/assets/json/reset.js"
export default {
  name: "home",
  components: {
    HelloWorld
  },
  data() {
    return {
      watchNuber: 1 
    };
  },
  watch: {
    watchNuber(newVal, oldVal) {
      this.watchNuber = newVal;
    }
  },
  computed: {
    watchNuberAfter: function() {
      // `this` 指向 vm 实例
      return `计算后的属性${this.watchNuber * 2}`;
    }
  },
  methods: {
    handleWatchClick() {
      this.watchNuber++;
    }
  }
};
</script>

watch 可以监听到data中的数据,

  data() {
    return {
      watchNuber: 1
    };
  }
   watch: {
   // 监听的值要和data中的值一样,可以监听返回它的更新完以前的值和更新完以后的值
    watchNuber(newVal, oldVal) {
      this.watchNuber = newVal;
    }
  },
  computed: {
    //如果data中的默认值是1,那么当你进入这个页面的时候,计算属性会立刻计算当前的值就是watchNuberAfter = 2
    watchNuberAfter: function() {
      // `this` 指向 vm 实例
      return `计算后的属性${this.watchNuber * 2}`;
    }
  },

1.它可以用来监测Vue实例上的数据变动。
2.在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作。在模板中放入太多的逻辑会让模板过重且难以维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月落星河°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值