computed 中get 和set 的功能

<template>
        <view>
            <view>{{ fullName }}</view>
        </view>
    </template>
    <script>
        export default {
            data() {
                return {
                    firstName: 'Foo',
                    lastName: 'Bar'
                }
            },
            computed: {
                fullName: {
                    // getter
                    get(){
                        return this.firstName + ' ' + this.lastName
                    },
                    // setter
                    set(newValue){
                        var names = newValue.split(' ')
                        this.firstName = names[0]
                        this.lastName = names[names.length - 1]
                    }
                },
        computedClassStr () {             return this.isActive ? 'active' ''           },
            }
        }
    </script>

  上述例子可比较computed有get set与无get set的区别

总结:

  • get:通过设置get方法可以得到fullName的新值。
  • set:通过set的方法,设置一个值(newValue)来改变fullName相关联的值,引起fullName重新的计算,相应的页面上fullName也会发生改变成新的内容。

 

上一篇:Vue原理「十八」-- computed和watch的区别及原理 ***


下一篇:⑦ Vue的动态数据计算