Vue中computed(计算属性)、methods、watch的区别

本文对比了Vue.js中methods, computed及watch的功能差异。methods作为普通方法需手动调用;computed具备缓存特性,依赖变化时自动更新;watch用于监听特定变量的变化并执行相应操作。

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

初学vue,阅读api后,发现Vue提供了多种逻辑处理的方法,单纯的方法methods,computed(计算属性)以及watch等,充分理解这三者的区别,才能写出更加健壮的Vue代码。

1、methods,computed的区别

先上例子:

var vm = new Vue({
 el: '#app',
 data: {
    msg: 'nihao',
    text: 'byebye'
 },
 computed: {
    getmsg: function () {
       return this.msg
    }
 },
 methods:{
    gettext:function () {
       return this.msg
    }
}  
})
<p>msg:{{getmsg}}</p>  
<p>text:{{gettext()}}</p> 

在这个例子中,只要msg值发生变化,getmsg方法就会触发,而text的值发生变化,只要没有调用gettext方法,显示的值不会动态改变。就是说,methods中就是普通的方法,通过调用执行,computed中的方法会监听自己的依赖,依赖发生变化方法会自动执行。

2、computed与watch区别

继续看例子

var vm = new Vue({
 el: '#app',
 data: {
    msg: 'nihao',
    text: 'byebye'
 },
 computed: {
    getmsg: function () {
       return this.msg
    }
 },
 watch:{
    text:function () {
       this.msg="dajiahao"
    }
}  
})
在这个例子中,当msg发生变化,getmsg会自动执行,当text发生变化,watch里相应方法会执行。可以看到watch可以指定监听哪个值,当这个值发生变化时,去进行相应操作。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值