计算属性和监听器


计算属性:

  1、计算属性和方法都可以用vue的模板语法,直接显示到页面上。单不同的是,计算书属性是基于他们的响应式依赖进行缓存的,只有相关的响应式依赖发生改变时,它们才会重新求值。同时这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果(计算属性缓存),而不必再次执行函数。

data(){
    return(){
      message:1  
    }
},
computed:{
    reverMessage(){
        return this.message + 1; //message就是响应式依赖
    }

  2、计算属性的setter

  计算属性默认只有getter,不过在需要时也可以提供一个setter

computed: {
  fullName: {
    // getter
    get: function () {
      return this.firstName + ' ' + this.lastName
    },
    // setter
    set: function (newValue) {
      var names = newValue.split(' ')
      this.firstName = names[0]
      this.lastName = names[names.length - 1]
    }
  }
}

this.fullName = 'Jack Ma'
// 可以改变firstName,lastName

侦听属性:
  当需要在数据变化时执行异步或者开销较大的操作时,这个方式是最有用的。

vue