美文网首页
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