当前位置: 首页 > news >正文

Vue 3 计算属性的应用

1.基本用法

<script setup>
import { ref, computed } from 'vue'const firstName = ref('张')
const lastName = ref('三')// 计算属性
const fullName = computed(() => {return firstName.value + lastName.value
})
</script><template><div>全名: {{ fullName }}</div>
</template>

2.Vue 3 允许创建可写的计算属性

<script setup>
import { ref, computed } from 'vue'const firstName = ref('张')
const lastName = ref('三')const fullName = computed({// getterget() {return firstName.value + lastName.value},// setterset(newValue) {// 假设新格式是"姓 名"[firstName.value, lastName.value] = newValue.split(' ')}
})function changeName() {fullName.value = '李 四'
}
</script><template><div>全名: {{ fullName }}</div><button @click="changeName">改为李四</button>
</template>

3.在列表过滤和排序中的应用

<script setup>
import { ref, computed } from 'vue'const searchQuery = ref('')
const sortDirection = ref('asc')const items = ref([{ id: 1, name: 'Apple', price: 5 },{ id: 2, name: 'Banana', price: 3 },{ id: 3, name: 'Orange', price: 4 },{ id: 4, name: 'Pear', price: 6 }
])// 过滤和排序后的列表
const filteredAndSortedItems = computed(() => {let result = [...items.value]// 过滤if (searchQuery.value) {result = result.filter(item => item.name.toLowerCase().includes(searchQuery.value.toLowerCase()))}// 排序if (sortDirection.value === 'asc') {result.sort((a, b) => a.price - b.price)} else {result.sort((a, b) => b.price - a.price)}return result
})function toggleSort() {sortDirection.value = sortDirection.value === 'asc' ? 'desc' : 'asc'
}
</script><template><input v-model="searchQuery" placeholder="搜索商品..."><button @click="toggleSort">排序: {{ sortDirection === 'asc' ? '价格升序' : '价格降序' }}</button><ul><li v-for="item in filteredAndSortedItems" :key="item.id">{{ item.name }} - ¥{{ item.price }}</li></ul>
</template>

http://www.lryc.cn/news/575957.html

相关文章:

  • Valkey与Redis评估对比:开源替代方案的技术演进
  • 基于Odoo 18的生产报工系统架构与开发
  • 利用云雾自动化在智能无人水面航行器中实现自主碰撞检测和分类
  • 不同信创系统如何集中远程运维?贝锐向日葵提供稳定方案
  • 操作系统之文件管理(王道)
  • Day 10:Shell正则表达式终极指南:从“抓狂“到“掌控“的奇幻之旅
  • 设计模式 | 桥接模式
  • LeetCode 349题解 | 两个数组的交集
  • SAP PP模块与MM模块作用详解
  • 航天VR赋能,无人机总测实验舱开启高效新篇​
  • Maven生命周期与阶段扩展深度解析
  • Linux系统(信号篇)信号的保存
  • Post-Training on PAI (1):一文览尽开源强化学习框架在PAI平台的应用
  • 信息抽取数据集全景分析:分类体系、技术演进与挑战_DEEPSEEK
  • CloudFormation 实现 GitHub Actions OIDC 与 AWS ECR 的安全集成(支持多组织配置)
  • 【Linux】ghb工具
  • 论文研读2-3:多GNSS双历元纯相位定位-定位精度分析
  • 【docker】docker run参数说明
  • 便利的隐形代价?智能设备正在“偷听”你的生活——物联网时代的隐私深度危机
  • 系统学习 Android 的 进程管理、内存管理、音频管理
  • Qt 与 Halcon 联合开发六:基于海康SDK设计完整的相机类【附源码】
  • 云计算与人工智能的融合:从弹性算力到智能云的IT新革命
  • 报道称CoreWeave洽谈收购Core Scientific,后者涨超30%
  • 内测开启!看海量化回测系统V2.0版本更新,基于miniQMT的回测系统问世!
  • Android 根据包名查看已安装应用的签名
  • 分布式session解决方案
  • 【Docker】解决:构建(docker build)或重新运行容器时,丢失apt-get update问题
  • 第三十一章 MCO——PA8从主频分频输出
  • 【数据挖掘】关联规则算法学习—Apriori
  • Gitee 持续集成与交付(CI/CD)篇