Vue由浅入深系列(三)详解Computed计算属性

2020-04-04  本文已影响0人  辉夜真是太可爱啦

computed计算属性主要是对于一个变量进行逻辑运算以后,得到一个新的值,相比于在模板template中写入逻辑运算也更加清晰明了,而且更加的有利于后期维护,而且,计算属性是由缓存机制的,当其依赖的属性的值发生变化的时,计算属性会重新计算。反之则使用缓存中的属性值。

1.基础使用之getter函数

export default {
    name: "Test",
    data(){
        return{
            firstName:'',
            lastName:'',
        }
    },
    computed:{
        fullName(){
            return `${this.firstName} ${this.lastName}`;
        }
    }
}
computed:{
    fullName:{
        get(){
            return `${this.firstName} ${this.lastName}`;
        }
    }
}

2.基础使用之setter函数

computed:{
    fullName:{
        get(){
            return `${this.firstName} ${this.lastName}`;
        },
        set(newValue){
            let names=newValue.split(' ');
            this.firstName=names[0];
            this.lastName=names[1];
        }
    }
}

3.使用计算属性结合v-for来提高性能

<template>
  <div>
    <ul>
      <li v-for="(item,index) in filterList" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
export default {
    name: "Test",
    data(){
        return{
            list:[8,20,28,52,33],
        }
    },
    computed:{
        filterList:{
            get(){
                return this.list.filter(x=>x>50);     //[52]
            },
        }
    },
}
</script>
上一篇 下一篇

猜你喜欢

热点阅读