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

专业科技网站建设万物识别扫一扫

专业科技网站建设,万物识别扫一扫,网站正在建设中代码,个体户营业执照科研做企业网站吗🏠个人主页:Yui_ 🍑操作环境:vscode\node.js 🚀所属专栏:Vue3 文章目录1. 计算属性1.1 computed函数1.2 计算属性VS普通函数1.3 计算属性的完整写法2. 监听器3.总结1. 计算属性 计算属性(compu…

image.png

🏠个人主页:Yui_
🍑操作环境:vscode\node.js
🚀所属专栏:Vue3

image.png

文章目录

  • 1. 计算属性
    • 1.1 computed函数
    • 1.2 计算属性VS普通函数
    • 1.3 计算属性的完整写法
  • 2. 监听器
  • 3.总结

1. 计算属性

计算属性(computed)是 Vue 中用于根据已有数据动态计算新数据的属性。它的特点是基于依赖进行缓存,只有相关依赖发生变化时才会重新计算,适合处理复杂逻辑或需要复用的表达式。

1.1 computed函数

语法:

const 新数据 = computed(() => {  
return 计算结果  
})
<script setup>
import { ref, computed } from 'vue'const count = ref(1)
const double = computed(() => count.value * 2)
</script><template><div>{{ double }}</div>
</template>

只要count的数字变化,double的数字就会自动变化
演示:

<script setup>
import { ref, computed } from 'vue'const cart = ref([{ id: 1, name: '苹果', price: 3, count: 2, checked: true },{ id: 2, name: '香蕉', price: 2, count: 1, checked: false },{ id: 3, name: '橙子', price: 4, count: 3, checked: true }
])// 计算已选商品总价
const totalPrice = computed(() =>cart.value.filter(item => item.checked).reduce((sum, item) => sum + item.price * item.count, 0)
)// 计算已选商品数量
const selectedCount = computed(() =>cart.value.filter(item => item.checked).length
)// 增减商品数量
function changeCount(item, delta) {item.count += deltaif (item.count < 1) item.count = 1
}
</script><template><h2>购物车</h2><ul><li v-for="item in cart" :key="item.id"><input type="checkbox" v-model="item.checked" />{{ item.name }} - 单价:{{ item.price }} 元<button @click="changeCount(item, -1)">-</button>{{ item.count }}<button @click="changeCount(item, 1)">+</button></li></ul><p>已选商品数量:{{ selectedCount }}</p><p>总价:{{ totalPrice }} 元</p>
</template>

image.png
注意:

  • 计算属性必须又返回值

1.2 计算属性VS普通函数

貌似普通的函数也能做像计算属性哪些功能吧。
计算属性(computed)和普通函数(methods)在 Vue 中都可以实现基于数据的动态计算,但它们有以下区别:

  1. 计算属性(computed)
  • 有缓存:依赖的数据不变时,计算属性不会重新执行,直接返回上次的结果。
  • 适合依赖响应式数据的复杂逻辑,如总价、过滤、格式化等。
  1. 普通函数(methods)
  • 无缓存:每次调用都会重新执行函数体。
  • 适合处理事件、无状态逻辑或不依赖响应式数据的场景

1.3 计算属性的完整写法

计算属性的完整写法可以使用对象形式,包含 get(和可选的 set)方法。
示例:

<script setup>
import { ref, computed } from 'vue'const count = ref(1)// 只读计算属性
const double = computed(() => count.value * 2)// 可读可写计算属性
const doublePlus = computed({get() {return count.value * 2},set(val) {count.value = val / 2}
})
</script><template><div><p>count: {{ count }}</p><p>double: {{ double }}</p><input v-model="doublePlus"></div>
</template>

image.png

2. 监听器

侦听器(watcher)是 Vue 中用于监听响应式数据变化并执行副作用操作的工具。常用于异步请求、复杂逻辑处理或需要在数据变化时执行特定操作的场景。
语法:

<script setup>
import { ref, watch } from 'vue'const count = ref(0)watch(count, (newVal, oldVal) => {console.log(`count 从 ${oldVal} 变为 ${newVal}`)
})
</script>

演示:

<template>
<div><input type="text" v-model="keyword">
</div>
</template><script setup>import {ref,watch} from "vue"const keyword = ref('')watch(keyword,(newVal,oldVal)=>{console.log(`新值为${newVal},旧值为${oldVal}`)})
</script><style scoped></style>

image.png
watch的作用就是监视响应式数据的变化,当数据变了,针对性的DOM操作或异步操作

3.总结

计算属性(computed)用于根据已有数据动态计算新值,具有缓存特性,适合模板展示和数据派生;侦听器(watch)用于监听响应式数据的变化并执行副作用操作,如异步请求或复杂逻辑,适合处理数据变化带来的过程和操作。两者结合使用,可以让 Vue 应用既高效又灵活。


往期文章:
Vue3入门-必会前置知识-CSDN博客
Vue3入门-声明式渲染+数据响应式-CSDN博客
Vue3入门-指令-CSDN博客
Vue3入门-指令补充-CSDN博客
Vue3入门-组件及组件化-CSDN博客

http://www.dtcms.com/wzjs/236356.html

相关文章:

  • 网站如何设置长尾词seo每天一贴
  • 仿站软件百度认证平台
  • 专业的网站开发服务打开百度网页
  • 安徽建设部网站企业培训机构排名前十
  • 知名网站制作公司排名互联网营销师考证多少钱
  • 企业网站推广方案范例代刷网站推广链接免费
  • 夜晚必备直播软件seo排名赚app最新版本
  • 六安网约车资格证在哪里办seopc流量排行榜企业
  • 新网站建设的感想p2p万能搜索引擎
  • 厦门站长优化工具如何做一个自己的网站
  • 中国建设厅或是建委的网站长沙网站seo公司
  • thinkphp网站开发教程百度一下官网首页下载
  • 网站制作企业对比上海网站营销seo方案
  • 怎么做网站链接淘数据官网
  • 小程序定制公司有哪些温州seo网站建设
  • 唐山网站制作服务公司个人怎么做网络推广
  • 做网站有哪个软件好百度关键词价格排行榜
  • 做智能网站谷歌推广代理公司
  • 备案用网站建设方案书软文范例大全800字
  • 黔江区建设委员会网站百度官网
  • 目前做啥网站致富整合营销传播策略
  • 专门做任务的网站吗怎样建网站
  • 做去自己的网站首页整站seo排名要多少钱
  • 网站开发岗位就业分析培训网站排名
  • 淄博做网站建设的公司营销策划的八个步骤
  • 大站网站建设市场推广策略 包括哪些
  • wordpress查询表单广州seo搜索
  • 网站建站常见问题百度首页推广广告怎么做
  • 网站 开发 周期网络营销和传统营销有什么区别
  • 沙田镇网站建设可以进入任何网站的浏览器