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

张家港手机网站制作济南营销型网站建设工作室

张家港手机网站制作,济南营销型网站建设工作室,做装机u盘那个网站好,沙田网站仿做Vue 2 中的 computed 在 Vue 2 中&#xff0c;计算属性是响应式的&#xff0c;并且基于 getter 进行缓存&#xff0c;只有依赖的响应式数据发生变化时才会重新计算。 基本用法 <template><div><p>原始消息&#xff1a;{{ message }}</p><p>反…

Vue 2 中的 computed

在 Vue 2 中,计算属性是响应式的,并且基于 getter 进行缓存,只有依赖的响应式数据发生变化时才会重新计算。

基本用法
<template><div><p>原始消息:{{ message }}</p><p>反转消息:{{ reversedMessage }}</p></div>
</template><script>
export default {data() {return {message: "Hello Vue!"};},computed: {// 计算属性reversedMessage() {return this.message.split("").reverse().join("");}}
};
</script>

特点:

  • 计算属性 reversedMessage 依赖于 message,当 message 发生变化时,它会自动重新计算。
  • computed 具有缓存功能,只有在依赖的属性变更时才会重新计算,而不像 methods 每次调用都会执行。

计算属性的 Getter 和 Setter

计算属性默认只有 getter,但也可以定义 setter

<script>
export default {data() {return {firstName: "John",lastName: "Doe"};},computed: {fullName: {get() {return this.firstName + " " + this.lastName;},set(newValue) {const names = newValue.split(" ");this.firstName = names[0];this.lastName = names[1] || "";}}}
};
</script>

特点:

  • 当读取 fullName 时,会调用 getter 返回拼接后的字符串。
  • 当修改 fullName 时(例如 this.fullName = "Alice Smith"),会触发 setter 并更新 firstNamelastName

Vue 3 中的 computed

在 Vue 3 中,除了 Options API 仍然可以使用 computedComposition API 也提供了新的 computed 方法(从 vue 导入)。

Vue 3 Options API 用法(与 Vue 2 相同)

Vue 3 仍然支持 Vue 2 的 computed 写法:

<script>
export default {data() {return {message: "Hello Vue 3!"};},computed: {reversedMessage() {return this.message.split("").reverse().join("");}}
};
</script>


Vue 3 Composition API 用法

Vue 3 允许使用 computed 来创建计算属性,而不是定义在 computed 选项中。

基本用法
<template><div><p>原始消息:{{ message }}</p><p>反转消息:{{ reversedMessage }}</p></div>
</template><script>
import { ref, computed } from "vue";export default {setup() {const message = ref("Hello Vue 3!");const reversedMessage = computed(() => {return message.value.split("").reverse().join("");});return { message, reversedMessage };}
};
</script>

特点:

  • message 使用 ref 进行响应式声明。
  • computed(() => {}) 用于创建计算属性,返回的值是一个 ref,必须用 .value 访问其内部值。

计算属性的 Getter 和 Setter

Vue 3 的 computed 也支持 gettersetter,类似于 Vue 2:

<script>
import { ref, computed } from "vue";export default {setup() {const firstName = ref("John");const lastName = ref("Doe");const fullName = computed({get: () => `${firstName.value} ${lastName.value}`,set: (newValue) => {const names = newValue.split(" ");firstName.value = names[0];lastName.value = names[1] || "";}});return { firstName, lastName, fullName };}
};
</script>

特点:

  • computed 传入对象,定义 getset 方法。
  • set 方法允许修改 computed 值,并影响 ref 定义的 firstNamelastName

Vue 2 vs Vue 3 computed 对比

特性Vue 2Vue 3
语法computed: { ... }computed(() => {})
依赖响应式this.dataref()reactive()
Getter/Settercomputed: { get() {}, set() {} }computed({ get() {}, set() {} })
需要 this需要 this无需 this
Composition API

总结

  1. Vue 2 的 computed 定义在 computed 选项中,必须依赖 this 访问 data
  2. Vue 3 Options API 仍然支持 Vue 2 语法,但 Vue 3 主要推荐使用 Composition API。
  3. Vue 3 Composition API 提供 computed 方法,使用 refreactive 作为依赖,不需要 this,更灵活可组合。
  4. 计算属性支持 gettersetter,可以用来双向绑定数据。

Vue 3 的 Composition API 让 computed 变得更简洁、模块化,特别适用于组合逻辑复杂的应用场景。

http://www.yayakq.cn/news/255393/

相关文章:

  • 新加坡建设局网站百度资讯
  • 企业在网站建设中需要做什么中国商标官网入口
  • 网站多域名怎么做个人信息查询
  • 国内网站都要备案吗云主机怎么上传网站
  • 深圳光明建设局官方网站wordpress 防下载
  • 网站开发支付宝支付杭州微信网站建设
  • 有限公司在线网站企业网络营销
  • 空间购买后打不开网站wordpress文本框
  • 广告发布网站开发网站备案查询工信部app
  • 国外网站卖货平台做淘宝网站目的是什么
  • 西安响应式网站建设服务提供商唐山市住建局官方网站
  • 如何制作企业网站的版式宜飞思工业设计网站
  • 制作微信小程序的教程哈尔滨做网站seo的
  • 高端网站制作网站建设连城县住房和城乡建设局 网站
  • 牡丹江整站优化北京网站建设公司司
  • 手机版网站怎么上传成都seo培训
  • 找专题页面那个网站好成都网络营销品牌代理机构
  • 稿定设计网站官网入口在线视频播放网站开发
  • 本地网站模板修改网站建站建设怎么做
  • 网站内容很少如何做seo温州做网站价格
  • 上海网站建设基础Wordpress获取自定义分类
  • 网站设计制作哪些wordpress 首页幻灯片
  • 江浦网站建设盐城市网站建设
  • 行业网站运营网易做相册的网站
  • 免费做店招哪个网站好火车采集wordpress发布模块
  • asp网站服务器架设wordpress翻译插件下载
  • 网站建设栏目这一块怎么写企业门户网站功能
  • 做网站jw100图片加文字
  • 四川航霖企业管理咨询有限公司抖音关键词seo系统
  • 静态页面网站怎么做最近火爆的新闻大事