VUE 计算属性 vs 侦听属性

Posted zengpeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE 计算属性 vs 侦听属性相关的知识,希望对你有一定的参考价值。

计算属性 vs 侦听属性

Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性。当你有一些数据需要随着其它数据变动而变动时,你很容易滥用 watch——特别是如果你之前使用过 AngularJS。然而,通常更好的做法是使用计算属性而不是命令式的 watch 回调。细想一下这个例子:

 
<div id="demo">{{ fullName }}</div>
var vm = new Vue({
  el: ‘#demo‘,
  data: {
    firstName: ‘Foo‘,
    lastName: ‘Bar‘,
    fullName: ‘Foo Bar‘
  },
  watch: {
    firstName: function (val) {
      this.fullName = val + ‘ ‘ + this.lastName
    },
    lastName: function (val) {
      this.fullName = this.firstName + ‘ ‘ + val
    }
  }
})

上面代码是命令式且重复的。将它与计算属性的版本进行比较:

var vm = new Vue({
  el: ‘#demo‘,
  data: {
    firstName: ‘Foo‘,
    lastName: ‘Bar‘
  },
  computed: {
    fullName: function () {
      return this.firstName + ‘ ‘ + this.lastName
    }
  }
})

以上是关于VUE 计算属性 vs 侦听属性的主要内容,如果未能解决你的问题,请参考以下文章

vue的计算属性和侦听属性的区别

VUE3 之 计算属性与侦听器

Vue中的计算属性computed和侦听器watch

Vue中的计算属性computed和侦听器watch

vue计算属性和侦听器

侦听对象 watch