Vue计算属性(computed)、methods、watched三者区别

一、计算属性(computed)
Vue.js 的内联表达式非常方便,但如果涉及到比较复杂的场景,我们应该使用计算属性。
计算属性是用来声明式的描述一个值依赖了其它的值,当依赖的值发生改变时,其值才会相应的发生更改并更新相关的DOM。


其结果如下图,当文本框中值发生更改时,计算属性的值也发生相应的更改并触发DOM更新。

 

 值得注意的是计算属性默认只有 getter ,不过自已可以根据需要提供一个setter。

此时我们可以点击页面button元素执行reversedMessage的set方法

文本框中输入message,点击set后得到的结果如下:

 

二、Methods && Methods vs computed
其实除了使用计算属性外,我们利用methods同样可以达到相同的效果。

此时得到的结果和使用计算属性得到的结果是一样的

  其实在这个简单的例子中,使用计算属性与methods是区别并不明显,但在一些比较复杂或是数据量比较大的,并存在一些依赖关系的时候,计算属性的优势就会突显出来,此时使用计算属性会大大提高我们的性能。

计算属性:只要依赖的数据没发生改变,我们就可以直接返回缓存里的数据,而不需要每次都重复执行数据操作。


在vue中  methods是方法,只要调用它,函数就会执行。有一定的触发条件。

计算属性:只要依赖的数据没发生改变,我们就可以直接返回缓存里的数据,而不需要每次都重复执行数据操作。

鉴于两者的区别,我们可以根据其需求和场景进行合理的选择。


watch && Watched属性 vs computed

watch用于观察和响应Vue实例上的数据变动,与计算属性相比,大部份情况下使用计算属性可能会更好一些,但当你想要在数据变化响应时,执行异步操作或开销较大的操作,这时使用watch将是更好的选择。

此时如果textValue的值发生改变时,就会执行watch操作,如果我们需要对数据进行深度观察时,可以使用deep属性。

使用watch时代码很容易理解,它指定监测的值是谁,然后相应的改变其他的值。



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值