vue3 - 05.computed计算属性

vue3 - computed,当数据发生变化的时候,触发computed计算属性

computed有两种书写方式:

1. 基础用法

例子1:

<template>
  <div>
    user: <input type="text" v-model="user">
    <br />
    pwd: <input type="text" v-model="pwd">
    <br />
    {{info}}
  </div>
</template>
<script setup lang='ts'>
  import { ref,computed } from 'vue'
  const user = ref<string>("")
  const pwd = ref<string>("")
  const info = computed(() => {
    return user.value + "--" + pwd.value
  })
</script>
<style scoped>
</style>

例子2:

<template>
  <div>
    <div v-if="show">显示</div>
    <div v-else>隐藏</div>
  </div>
</template>
<script setup lang='ts'>
  import { ref,computed, onMounted } from 'vue'
  const aaa = ref<boolean>()
  const bbb = ref<boolean>()
  const ccc = ref<boolean>()
  onMounted(() => {
    aaa.value = true
    bbb.value = false
    ccc.value = true
  })
  const show = computed(() => {
    return aaa.value && (!bbb.value || ccc.value)
  })
</script>
<style scoped>
</style>

例子3:

<template>
  <div>
    <input type="text" v-model="search" :placeholder="searchVal" />
  </div>
</template>
<script setup lang='ts'>
  import { ref,computed } from 'vue'
  const search = ref<string>()
  const searchVal = computed(() => {
    return "请输入搜索的商品"
  })
</script>
<style scoped>
</style>

2. watch - get / set

<template>
  <div>
    <input type="text" v-model="search1" />
    <input type="text" v-model="search2" />
  </div>
</template>
<script setup lang='ts'>
  import { ref,computed } from 'vue'
  const search1 = ref<string>("")
  const search2 = computed({
    get(){
      return search1.value.split('').reverse().join('')
    },
    set(newVal){
      search1.value = newVal
    }
  })
</script>
<style scoped>
</style>

computed的set可以写if条件判断,最后通过get返回结果,除了需要做复杂的计算属性之外,一般的都会直接用computed基础用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue-async-computed.js是一个用于Vue.js的库,它扩展了Vue中的计算属性功能,使之可以支持异步数据获取和计算Vue.js计算属性是在模板中根据数据的变化实时计算出新的结果,并实时更新到视图中。然而,在某些情况下,数据的获取和计算可能会涉及异步操作,如从服务器获取数据或处理复杂的计算逻辑。此时,普通的计算属性就不再适用,需要使用异步计算属性才能处理这样的情况。 异步计算属性提供了一个方便的方式来处理异步数据的获取和计算。它的用法类似于普通的计算属性,但是需要使用一个异步函数来定义计算属性的逻辑。这个异步函数可以返回一个Promise对象,用于表示异步操作的结果。 在异步函数中,我们可以执行异步操作,如发送网络请求、读取本地存储等。当异步操作完成后,我们可以通过Promise的resolve方法返回计算属性的结果。在模板中使用异步计算属性时,Vue会自动等待异步操作完成并获取到计算属性的结果,然后更新视图中相应的内容。 通过使用vue-async-computed.js,我们可以轻松地处理复杂的异步计算逻辑,如缓存异步计算结果、处理异步错误等。它的简单易用和强大的功能使得我们可以更加方便地开发处理异步数据的应用程序。无论是获取远程数据还是处理复杂的计算逻辑,vue-async-computed.js都可以帮助我们减少工作量,提高开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值