天天看点

vue学习笔记21-25(计算属性)vue学习笔记21-25(计算属性)

vue学习笔记21-25(计算属性)

vue中的计算属性(computed)

1、什么是计算属性

注:计算属性的命名规范,它首先是一个属性,所以最好按照一个属性来进行命名,使用名词进行命名,不要加入动词。

再注:在mustache语法中不要加上小括号,因为这是属性而不是函数,例子:

<h2>{{fullName}}</h2>

2、作用

对要是用的数据首先进行一定的处理,方便使用,简化上方mustache中的内容,增强可读性。

3、使用举例

①简单使用(只读属性)

简单实用只使用了其中的getter用法,省略setter用法并进行简写,直接写上一个函数(和methods里面一样)

例子:

conputed{
  totalPrice, function(){
    let result = 0
    for (let item of this.books){
      result += item.price
    }
    return result
  }
},
           

②完整使用(可读写属性)

将getter和setter完整实现,getter通过计算获得想要获得的属性值,setter多对原始数据(也就是data中的数据)进行修改

computed: {
  fullName: {
    // 进行修改的时候只需要app.fullName = 'hello VueJs'即可(app是new vue的名字)
    set: function (newValue) {
      const names = newValue.split(' ');
      this.firstName = names[0];
      this.lastName = names[1];
    },
    get: function () {
      return this.firstName + ' ' + this.lastName;
    },
  }
},
           

4、与methods相比,为什么使用computed:

computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。 也就是说使用computed的性能会优于methods。

所以在简单地把数据进行计算在进行展示的时候,最好多使用computed计算属性,少使用methods,这样能提高系统的效率。

继续阅读