计算属性

53 阅读1分钟

computed

完整写法:

...
methods:{},
computed:{
    changeName:{
        get() {
            //读取时需要返回值
            return ?
        },
        set(value) {
            //需要更改依赖的数据
        }
    }
}

简写:

使用:还是当作属性changeName,当作data中的数据
...
methods:{},
computed:{
    changeName(){
        //如果只作为显示,才可以使用,可以当作get,不需要set
        return ?
    }
}

总结:

场景:要用的属性不存在,需要通过已有的属性进行计算得到
原理:使用了Object.defineproperty方法的getter和setter
优势:有缓存机制,再次使用效率高。
get函数执行时机:
    a.初次调用执行一次
    b.依赖的data数据发生改变后执行