美文网首页
vue 计算属性

vue 计算属性

作者: 欢喜明 | 来源:发表于2018-06-12 12:36 被阅读0次

记录:

以前没有注意“属性”二字,今天再看一次,突然明白了一点;

如下面定义的一个vue对象:

var vm =new Vue({

el:'#example',

  data: {

   message:'Hello'

  },

  computed: {

// 计算属性的 getter

  reversedMessage: function(){

  // `this` 指向 vm 实例

  returnthis.message.split('').reverse().join('')

    }

  }

})

直接就能打印:

console.log(vm.message)

console.log(vm.reversedMessage)

reversedMessage,就是一个计算属性,就像data里面的message一样,当一个变量使用,只是这个计算属性有其特质:有缓存,与其相关的变量没有改变时,直接返回上一次计算结果;能自动响应结果,与其相关的变量有改变时,重新计算结果返回;

计算属性有两个函数:getter、setter;声明计算属性的时候,提供一个自定义的函数作为属性:vm.reversedMessage 的getter函数;

这与methods里面定义的方法是不一样的,作用、含义都不一样:

methods: {

reversedMessage:function(){

returnthis.message.split('').reverse().join('')

  }

}

这样是定义了一个方法:reversedMessage,使用的时候需要调用:reversedMessage();每次调动此方法就返回结果,没有缓存,这是一个方法,不是属性,而计算属性里面的reversedMessage是一个属性,直接vm.reversedMessage 使用;

相关文章

网友评论

      本文标题:vue 计算属性

      本文链接:https://www.haomeiwen.com/subject/oopleftx.html