美文网首页
computed—计算属性

computed—计算属性

作者: Sharp丶TJ | 来源:发表于2022-06-24 12:19 被阅读0次

    1、定义:被计算出来的属性就是计算属性
    2、原理:低层借助了 Object.defineproperty 方法提供的 getter 和 setter
    3、get 函数什么时候执行?
    (1)初次读取时会执行
    (2)当依赖发生改变时会被在次调用
    4、优势:与 methods 实现相比,内部有缓存机制(复用),效率更高,调试方便。
    5、注意事项:
    (1)计算属性最终会出现在vm上,直接读取使用即可。
    (2)如果计算属性要被修改,那必须写 set 函数去响应修改,且 set 中要引起计算时依赖的数据发生改变

    例:

            <div id="root">
                <input type="text" v-model="firstName" />
                <br />
                <br />
                <input type="text" v-model="lastName" />
                <br />
                <br />
                <span>{{ fullName }}</span>
            </div>
            <script>
            new Vue({
                data() {
                    return {
                        firstName: '李',
                        lastName: '杰'
                    }
                },
                computed: {
                    fullName: {
                        //得到通过计算的属性
                        get() {
                            return this.firstName + '-' + this.lastName
                        },
                        //传参修改计算属性
                        set(value) {
                            const arr = value.split('-')
                            this.firstName = arr[0]
                            this.lastName = arr[1]
                        }
                    }
                }
            }).$mount('#root')
            </script>
    

    例2(只有在不修改时才能使用,也就是不使用 setter)

                computed: {
                    fullName(){
                            return this.firstName + '-' + this.lastName
                        }
                     }
    

    相关文章

      网友评论

          本文标题:computed—计算属性

          本文链接:https://www.haomeiwen.com/subject/cifhvrtx.html