Vue 计算属性

Vue 计算属性

定义:根据data中的已有属性计算得到一个新的属性

原理:根据defineProperty方法提供的getter和setter

优点: 对比methods, 优点在于有缓存,可以复用。

特点:
计算属性中的get函数调用时机:

  1. 初次读取改属性
  2. 该属性的依赖属性变化时

vm中有data、computed中的属性
vm._data只有data中的数据,没有computed中的数据
computed中的数据是把data中的数据经过计算设置到vm对象中去的

set函数不能直接修改计算属性,只能通过修改依赖属性的方式来进行

demo

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="../lib/vue.js"></script>

<body>
    <div id="root">
        <input type="text" v-model="firstName"> <br>
        <input type="text" v-model="lastName"> <br>
        <span>{{fullName}}</span>
    </div>
    <script>
        const vm = new Vue({
            el:"#root",
            data:{
                firstName:'island',
                lastName:'l'
            },
            computed:{
                // fullName:{
                //     get(){
                //         return this.firstName + '-' + this.lastName
                //     }
                // }
                // 简写形式,直接写函数,当做get用
                fullName:function(){
                    return this.firstName + '-' + this.lastName
                }
            }
        })
    </script>
</body>

</html>
posted @ 2022-01-29 00:07  IslandZzzz  阅读(38)  评论(0编辑  收藏  举报