定义:根据data中的已有属性计算得到一个新的属性
原理:根据defineProperty方法提供的getter和setter
优点: 对比methods, 优点在于有缓存,可以复用。
特点:
计算属性中的get函数调用时机:
vm中有data、computed中的属性
vm._data只有data中的数据,没有computed中的数据
computed中的数据是把data中的数据经过计算设置到vm对象中去的
set函数不能直接修改计算属性,只能通过修改依赖属性的方式来进行
<!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>