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
      }
    }

    }

相关推荐
源码获取_wx:Fegn0895几秒前
基于springboot + vue物业管理系统
java·开发语言·vue.js·spring boot·后端·spring·课程设计
星哥说事4 分钟前
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!
前端
donecoding12 分钟前
前端AI开发:为什么选择SSE,它与分块传输编码有何不同?axios能处理SSE吗?
前端·人工智能
安_17 分钟前
<style scoped>跟<style>有什么区别
前端·vue
姝然_952718 分钟前
Claude Code 命令完整文档
前端
wjcroom18 分钟前
web版进销存的设计到实现一
前端
无知的前端21 分钟前
Flutter常见问题以及解决方案
前端·flutter·dart
BD_Marathon33 分钟前
Vue3_Vite构建工程化前端项目
前端
武清伯MVP35 分钟前
CSS Grid布局全解析:从基础到实战的二维布局方案
前端·css·grid
xfq40 分钟前
typescript泛型枚举以及NaN传染处理
前端·typescript