【从0到项目实战 vue3+vite】5. vue3基础-计算属性


开始

还原App.vue为如下

<script setup>

</script>

<template>
  
</template>

<style scoped>

</style>

运行项目

yarn dev

在这里插入图片描述

浏览器打开http://localhost:5173/
在这里插入图片描述
为一片空白,则为下面的教程做准备




计算属性

简单使用

  • 完整代码
<script setup>
import { ref,computed } from 'vue';

const a = ref(0)

const style = computed(()=>{
  if(a.value % 2 == 0){
    return {
      color: "#ff0000",
      border: '5px solid #ff0000'
    }
  }else{
    return {
      color: "#00ff00",
      border: '5px solid #00ff00'
    }
  }
})

const text = computed(()=>{
  if(a.value % 2 == 0){
    return 'a 为偶数'
  }else{
    return 'a 为奇数'
  }
})

</script>

<template>
  <h1>text的值为: {{ text }}</h1>
  <h1 :style="style">style的值为: {{ style }}</h1>
  <input type="number" v-model='a' />
</template>

<style scoped>
input{
  font-size: 20px;
}
</style>
  • 显示
    在这里插入图片描述在这里插入图片描述

自定义getter,setter

  • 完整代码
<script setup>
import { ref,computed } from 'vue';

const a = ref(0)

const style = computed(()=>{
  if(a.value % 2 == 0){
    return {
      color: "#ff0000",
      border: '5px solid #ff0000'
    }
  }else{
    return {
      color: "#00ff00",
      border: '5px solid #00ff00'
    }
  }
})

const text = computed(()=>{
  if(a.value % 2 == 0){
    return 'a 为偶数'
  }else{
    return 'a 为奇数'
  }
})

const ipt_text = ref('')

const ipt_model = computed({
  set:(val)=>{
  	// a == 输入值字符串的长度
    a.value = val.length
    ipt_text.value = val
  },
  get:()=>{
    return ipt_text.value
  }
})

</script>

<template>
  <h1>a的值为: {{ a }}</h1>
  <h1>ipt_model的值为: {{ ipt_model }}</h1>
  <h1>ipt_text的值为: {{ ipt_text }}</h1>
  <h1>text的值为: {{ text }}</h1>
  <h1 :style="style">style的值为: {{ style }}</h1>
  <input v-model='ipt_model' />
</template>

<style scoped>
input{
  font-size: 20px;
}
</style>
  • 显示
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半调子全栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值