vue2与vue3中的computed

以下两种代码一样

for(let i=0;i<allData.value.length;i++){

sampleNoArr.value.push(allData.value[i].bakingBatch)

}

// computed 返回的是一个响应式的 ref 对象

sampleNoArr = computed(() => allData.value.map(item => item.bakingBatch))

Vue 2 中的 computed:

  1. 返回的是一个响应式的值,而不是响应式对象。
  • 可以直接在模板中使用,无需 .value。
  • 在 JavaScript 中使用时也无需 .value。

    // Vue 2
    export default {
    data() {
    return {
    count: 0
    }
    },
    computed: {
    doubleCount() {
    return this.count * 2
    }
    },
    methods: {
    logDouble() {
    console.log(this.doubleCount) // 直接使用,无需 .value
    }
    }
    }

Vue 3 中的 computed:

  • 在组合式 API 中,computed 返回的是一个响应式的 ref 对象。
  • 在模板中使用时,Vue 会自动解包 ref,所以不需要 .value。
  • 在 JavaScript 中使用时需要通过 .value 访问其值。

    // Vue 3 组合式 API
    import { ref, computed } from 'vue'

    export default {
    setup() {
    const count = ref(0)
    const doubleCount = computed(() => count.value * 2)

    复制代码
      function logDouble() {
        console.log(doubleCount.value) // 需要使用 .value
      }
    
      return {
        count,
        doubleCount,
        logDouble
      }
    }

    }

相关推荐
嗝屁小孩纸1 分钟前
开发集成热门小游戏(vue+js)
前端·javascript·vue.js
赛博切图仔6 分钟前
深入理解 package.json:前端项目的 “身份证“
前端·javascript
UIUV10 分钟前
JavaScript 学习笔记:深入理解 map() 方法与面向对象特性
前端·javascript·代码规范
玉宇夕落18 分钟前
深入剖析 JavaScript 中 map() 与 parseInt 的“经典组合陷阱”
javascript·面试
太平洋月光19 分钟前
MJML邮件如何随宽度变化动态切换有几列📮
前端·css
AAA不会前端开发21 分钟前
TypeScript核心类型系统完全指南
前端·typescript
徐同保25 分钟前
使用GitKraken把feature_xtb_1104分支的多次提交记录合并到一起,只保留一次提交记录,并合并到master分支
前端
小光学长33 分钟前
基于Vue的智慧楼宇报修平台设计与实现066z15wb(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
醉方休41 分钟前
web前端 DSL转换技术
前端
sen_shan41 分钟前
Vue3+Vite+TypeScript+Element Plus开发-27.表格页码自定义
前端·javascript·typescript