计算属性

72 阅读2分钟

计算属性

作⽤:使⽤计算属性可以来处理⼀些复杂逻辑的数据

语法关键字:computed

特点:计算属性虽然写的像⽅法,但是它的使⽤⽅式和属性⼀样,属性怎么⽤,它就怎么⽤

为什么要使⽤计算属性:上述代码执⾏的时候发现,当我们点击按钮的时候,num执⾏了加1的操作,但是同样getFullName也执⾏了⼀次操作。即,每次点击都会alert我被点击了。原因是,每次num执⾏加1后Vue会重新渲染⻚⾯,⽽vue分不清楚⽅法⾥⾯到底在执⾏什么,所以每次刷⾏Dom,所有的⽅法都会被执⾏⼀遍。这个时候我们就应该使⽤计算属性来解决这个问题

解决原理:vue会分析计算属性⾥⾯的⽅法,分析代码中依赖哪些属性值,如果这些属性值中有某个或全部发⽣变化的话,那么这个⽅法才会重新执⾏,否则,不会执⾏这个⽅法。

总结就是计算属性执⾏的时机是:初始化显示或依赖的属性发⽣了变化计算数据的get与set:

示例:需求是当我们修改全名时,姓和名也要跟着修改计算属性可以使⽤js中属性的get和set⽅法其中

get⽅法是当获取当前属性值时⾃动调⽤, 将返回值(根据相关的其它属性数据)作为属性值

set⽅法是当属性值发⽣了改变时⾃动调⽤, 监视当前属性值变化, 同步更新相关的其它属性值

监听

作⽤:

Vue提供的⼀个更通⽤的⽅法,来监听数据的变化。当需要在数据变化时执⾏异步或开销较⼤的操作时,这个⽅式是最有⽤的。

计算属性与监听的区别:

computed函数需要return值让vue来读取,⽽watch不需要return computed⾥⾯只能写同步的代码,不能写异步的代码,⽽watch可以

class与style绑定

作⽤:处理⻚⾯样式,动态的绑定样式

绑定⽅式:

class:v-bind:class的⽅式绑定样式,其值可以有三种形式,分别为:字符串、对象、数组

style:v-bind:style绑定样式需要将加的样式使⽤ {} 括起来,需要将横杠格式的样式变为驼峰格式,例如:font-size要变为:fontSize