04 vue中的计算属性 computed

计算属性 (computed)

1、案例

<div id = "app">
  <h2>{{fullName}}</h2>
</div>
<script src = "../js/vue.js"></script>
<script>
  const app = new vue({
    el : "#app",
    data : {
      firstName : "Lebron",
      lastName : "James",
    },
    computed : {
      fullName : function (){
        return this.firstName + " " +this.lastName
      }
    },
  })
</script>

注:computed为计算属性,里面可以存放函数,函数中实现一些复杂操作。比较适合对多个变量或者对象进行处理后返回一个结果值。

2、计算属性的复杂操作

<div id = "app">
  <h2>总价格:{{totalPrice}}</h2>
</div>
<script src = "../js/vue.js"></script>
<script>
  const app = new vue({
    el : "#app",
    data : {
      books : [
        {id : 110 , name : "unix" , price : 199},
        {id : 111 , name : "代码" , price : 105},
        {id : 112  ,name : "计算机" , price : 178},
        {id : 113 , name : "系统" , price : 82},
      ]
    },
    computed : {
      totalPrice : function (){
        let result = 0;
        for(let i = 0; i < this.books.length; i++){
          result += this.books[i].price;
        }
        return result;
      }
    }
  })
</script>

3、计算属性与methods的对比

计算属性占用的资源会更少。

当有一个性能开销比较大的的计算属性 A ,它需要遍历一个极大的数组和做大量的计算。然后我们可能有其他的计算属性依赖于 A ,这时候,我们就需要缓存。也就是使用 computed 而不是 methods。但对于每次都需要进行重新计算的属性比如下面这个函数的返回值 function () { return Date.now() } ,我们最好使用 methods。
总之:数据量大,需要缓存的时候用 computed ;每次确实需要重新加载,不需要缓存时用 methods 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值