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

成都外贸网站建设费用《新闻联播》 今天

成都外贸网站建设费用,《新闻联播》 今天,网站流程图设计,做农村电商需投入多少30. Vue计算属性Computed 1. 定义 Computed属性是Vue中的一个计算属性,是一种基于其它属性值计算而来的属性值,具有缓存机制,在依赖的属性值发生变化时会重新计算。 使用computed属性可以避免在模板中书写过多的计算逻辑,提高代…

30. Vue计算属性Computed

1. 定义

Computed属性是Vue中的一个计算属性,是一种基于其它属性值计算而来的属性值,具有缓存机制,在依赖的属性值发生变化时会重新计算。

使用computed属性可以避免在模板中书写过多的计算逻辑,提高代码可读性和维护性。

下面是一个计算属性的示例:

<template><div><h3>单价: ¥{{ price }}</h3><input type="text" v-model="count" placeholder="请输入数量"><h3>总价: ¥{{ totalPrice }}</h3></div>
</template>
<!-- vue2 -->
<script>
export default {data() {return {price: 12,count: null}},computed: {totalPrice() {return this.price * this.count}}
}
</script>
<!-- vue3 -->
<script setup>
import { ref, computed } from "vue"
const price = ref(12)
const count = ref(0)
const totalPrice = computed(() => {return price.value * count.value
})
</script>

2. computed和methods对比

计算属性是有缓存的, 当我们多次使用计算属性时, 计算属性中的运算只会执行一次。如下图:

<template><div><div>{{ fullName }}</div><div>{{ fullName }}</div><div>{{ fullName }}</div><div>{{ fullName }}</div><div>{{ fullName }}</div><div>{{ fullName }}</div><div>{{ getFullName() }}</div><div>{{ getFullName() }}</div><div>{{ getFullName() }}</div><div>{{ getFullName() }}</div><div>{{ getFullName() }}</div></div>
</template>
<!-- vue2 -->
<script>
export default {data() {return {firstName: "Jack",lastName: "Ma"}},computed: {fullName() {console.log("computed获取fullname");return this.firstName + this.lastName;}},methods:{getFullName() {console.log("methods获取fullname");return this.firstName * this.lastName;}}
}
</script>
<!-- vue3 -->
<script setup>
import { ref, computed } from "vue"const firstName = ref("J.K.")
const lastName = ref("Rowling")const fullName = computed(() => {console.log("computed获取full");return firstName.value + lastName.value
})const getFullName = function() {console.log("methods获取full");return firstName.value + lastName.value
}
</script>

computed缓存

3. Getter和Setter

计算属性默认是只读的,也就是只用到getter。当你尝试修改一个计算属性时,你会收到一个运行时警告。只在某些特殊场景中你可能才需要用到“可写”的属性,你可以通过同时提供 gettersetter 来创建:

<!-- vue2 -->
<script>
export default {data() {return {firstName: "Jack",lastName: "Ma"}},computed: {fullName: {// getterget() {return this.firstName + this.lastName;},// setterset(newValue) {// 注意:我们这里使用的是解构赋值语法[this.firstName, this.lastName] = newValue.split(' ')}}},  methods:{setNewName(){//设置值触发setterthis.fullName = "Tom Mao"console.log(this.firstName, this.lastName);}}
}
</script>
<!-- vue3 -->
<script setup>
import { ref, computed } from "vue"const firstName = ref("J.K.")
const lastName = ref("Rowling")const fullName = computed({get() {return firstName.value + lastName.value},set(newValue) {[firstName.value, lastName.value] = newValue.split(' ')}
})const setNewName = function() {fullName.value = "John Doe"
}
</script>

4. Getter 不应有副作用

需要注意的是,computed属性必须返回一个值,不能有副作用,如修改数据或触发异步操作等。如果需要有副作用的计算,可以使用watch属性。

http://www.jinmujx.cn/news/109948.html

相关文章:

  • 关键词排名优化易下拉效率网站seo网络优化
  • 徐州手机网站制作公司哪家好网络公司网站建设
  • 如何编辑网站内容研究生培训机构排名
  • 京东的网站是哪家公司做的网络营销软件下载
  • 个人网站的建立怎么做品牌推广策划方案
  • 仿淘宝电商网站开发报价搜狗关键词排名此会zjkwlgs
  • 做网站的公司 设计好推广运营
  • 服务器网站过多对排名哪里有营销策划培训班
  • 公司做网站一般百度投流运营
  • 专业建设网站制作网站历史权重查询
  • 网页制作一般多少钱网站建设排名优化
  • 中国机械加工网站官网seo 是什么
  • 建设旅游业网站目的网站seo优化免费
  • html5网站建设微信运营公司织梦模板seo网上培训
  • 河南省建设安全监督总站网站百度推广的渠道有哪些
  • 海外域名停靠平台沈阳关键词优化报价
  • 局网站建设进入前十名百度不能搜的十大禁词
  • 龙华做棋牌网站建设搜索引擎优化好做吗
  • 多商城系统河北网站seo外包
  • 原创wordpress主题关键词优化公司哪家推广
  • 网站怎么放到服务器seo网站推广实例
  • thinkphp大型网站开发查询网站域名
  • php做的卖水果网站有哪些关键词百度网盘
  • 企业查询网页版排名优化公司哪家靠谱
  • 吴江区住房与建设局网站互动营销是什么
  • 河南做网站公司排名网站怎么优化搜索
  • 上海市建设管理委员会网站谷歌外贸平台
  • 商城型网站建设多少钱chrome下载
  • 企业做网站被骗投稿网
  • jsp电商网站开发流程大丰seo排名