watch和computed的区别

本文深入解析Vue框架中watch监听数据变化与computed计算属性的功能差异。通过实例展示,watch如何在数据变动时影响其他数据,而computed则根据已有数据生成新值,仅在依赖数据变化时更新。

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

watch 和 computed 的区别


computed:计算属性

  1. 计算属性是由data中的已知值,得到的一个新值
  2. 这个新值只会根据已知值的变化而变化,其他不相关的数据的变化不会影响该新值。
  3. 计算属性不在data中,计算属性新值的相关已知值在data中。
  4. 别人变化影响我自己。

watch:监听数据的变化

  1. 监听data中数据的变化
  2. 监听的数据就是data中的已知值
  3. 我的变化影响别人

little-demo:演示watch和computed的区别

<div id="app">
    <input type="text" v-model="name" />
    <span v-show="isShow">请输入3-6个字符</span>
    <br />
    <input type="text" v-model="todoName" />
</div>

<script src="./vue.js"></script>
<script>
    const vm = new Vue({
        el: "#app",
        data: {
            name: "zs",
            todoName: "ls"
        },
        computed: {
            isShow() {
                //当this.name的长度小于3或者大于6时显示提示内容(我根据name的变化而变化)
                if (this.name.length >= 3 && this.name.length <= 6) {
                    return false;
                } else {
                    return true;
                }
            }
        },
        watch: {
            //监听data中的name,如果发生了变化,就把变化的值给data中的todoName(我影响了别人)
            name(newVal) {
                this.todoName = newVal;
            }
        }
    });
</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值