vue中computed计算属性

1.computed计算属性,它表示根据已有属性,计算得到一个新的属性
2.在computed里面写一个函数,这个函数很特殊,它的函数名,将来可以作为一个属性来使用
3.计算属性是依赖于缓存的,当页面中调用同一个计算属性多次的时候,后面的计算属性的值,会直接从第一次得到的结果中去取,所以说,它的性能比较高,推荐使用计算属性⭐

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <div>
      <span>单价:{{price}}----------数量:{{count}}</span>
      <button @click="count=count+1">增加</button>
      <button @click="reduce()">减少</button>
    </div>
    <p>总价:{{totalPrice}}</p>
    <p>总价(加运费):{{totalPrice2}}</p>
  </div>
  <script src="./lib/vue-2.4.0.js"></script>
  <script>
    let vm = new Vue({
      el:'#app',
      data:{
        price:20,
        count:0,
        yunfei:10
      },
      computed: {
        totalPrice(){
          return this.price * this.count;
        },
        totalPrice2(){
          // 注意,在computed中不能够使用异步函数
          // setTimeout(() => {
          //   return this.price * this.count + this.yunfei
          // }, 200);
          var totalprice = this.price * this.count + this.yunfei;
          if (this.count === 0) {
            totalprice = 0;
          }
          return totalprice;
        }
      },
      methods: {
        reduce(){
          this.count = this.count - 1;
          if (this.count<=0) {
            this.count = 0;
          }
        }
      }
    })
  </script>
</body>
</html>
posted @ 2019-03-11 10:48  木石天涯  阅读(2635)  评论(0编辑  收藏  举报