VUE计算属性 computed

一个数据,依赖另外一个数据计算而来的结果

computed: {
    "计算属性名" () {
        return "值"
    }
}
<template>
  <div>
    <p>{{ num }}</p>
  </div>
</template>

<script>
export default {
  data(){
    return {
      a: 10,
      b: 20
    }
  },
  // 计算属性:
  // 场景: 一个变量的值, 需要用另外变量计算而得来
  /*
    语法:
    computed: {
      计算属性名 () {
        return 值
      }
    }
  */
 // 注意: 计算属性和data属性都是变量-不能重名
 // 注意2: 函数内变量变化, 会自动重新计算结果返回
  computed: {
    num(){
      return this.a + this.b
    }
  }
}
</script>

<style>

</style>

计算属性也是vue数据变量,所有不要和data里面重名,用法和data相同

一个数据,依赖另一个 一些数据计算而来的结果

 

vue计算属性-缓存

  1. 计算属性的优势  带缓存

  2. 计算属性对应函数执行后 ,会把return值缓存起来
  3. 依赖项不变,多次调用都是从缓存中取值
  4. 依赖项值-变化 ,函数会“自动重新执行-并缓存新的值”

 

<template>
  <div>
    <p>{{ reverseMessage }}</p>
    <p>{{ reverseMessage }}</p>
    <p>{{ reverseMessage }}</p>
    <p>{{ getMessage() }}</p>
    <p>{{ getMessage() }}</p>
    <p>{{ getMessage() }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      msg: "Hello,Vue",
    };
  },
  computed: {
    //计算属性的优势
    // 带缓存
    // 计算属性对应函数执行后,会把return值缓存起来
    // 依赖项不变,多次调用都是从缓存取值
    // 依赖项值-变化,函数会“自动重新执行-并缓存新的值”
    reverseMessage() {
      console.log("计算属性执行了");
      return this.msg.split("").reverse().join("");
    },
  },
  methods: {
    getMessage() {
      console.log("函数执行了");
      return this.msg.split("").reverse().join("");
    },
  },
};
</script>

<style>
</style>

计算属性只执行一次 从缓存中拿数据

vue计算属性-完整写法

给 计算属性赋值 触发set方法

使用 计算属性的值 触发get方法

computed: {
    "属性名": {
        set(值){
            
        },
        get() {
            return "值"
        }
    }
}

 

<template>
  <div>
    <span>姓名:</span>
    <input type="text" v-model="full" />
  </div>
</template>

<script>
export default {
  data() {
    return {};
  },
  // 计算属性完整写法
  computed: {
    full: {
      // 给full赋值 触发get方法
      set(val) {
        console.log(val);
      },
      // 使用full的值 触发get方法
      get() {
        return '牛马dzq'
      },
    },
  },
};
</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值