计算属性

什么是计算属性

  1. 我么你知道,在模板中可以使用插值语法显示data中的数据
  2. 但是在某些情况下,我们需要对数据进行某些转化才显示,或者间多个数据结和一起显示。
    • 比如我们由firstName和lastName两个变量,需要显示完整的名字。
    • 此种要求可以通过将 进行拼接即可,但是如果多个地方都需要完整额名称,我们就需要处处写 ,很不方便。
  3. 所以计算属性的用处就显示出来了
    • 写法是 使用computed属性,其定义处理函数。
<div id="app">
<h2>{{firstName}}{{lastName}}</h2>
<h2>{{fulName}}</h2>
</div>
<script>
const vm = new Vue({
el:"#app",
data:{
firstName:"Liu",
lastName:"dehua"
},
computed:{
fulName: function () {
return this.firstName+this.lastName;
}
}
// fulName:{
// set:function (value) {
//
// },
// get:function () {
// return this.firstName+last.lastName;
//
// }
// }
})
</script>


  1. 实现对数组的过滤与排序
<div id="app">
<li v-for:"n in evennumbers">{{n}}</li>
</div>

<script>
new Vue({
data:{
arr:[1,2,4,5,7,9]
},computed:{
evennumbers(){
return this.arr.filter(function(n){return n%2==0})
}
})
</script>

为什么使用计算属性

  1. method就可以实现我们的计算属性满足的要求,但是我们的计算属性确有其特殊之处。
    • 对于计算的属性有缓存,一次调用,一次执行,之后读取缓存,而methods每次调用,都需要每次调用函数执行一遍。
    • 仅当被计算的属性改变,才会有重新计算。