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

    }

相关推荐
薄雾晚晴5 小时前
Rspack 实战:用 SWC Loader 搞定 JS 兼容(支持 IE 11 + 现代浏览器,兼顾构建速度)
前端·vue.js
恋猫de小郭5 小时前
Flutter 官方 LLM 动态 UI 库 flutter_genui 发布,让 App UI 自己生成 UI
android·前端·flutter
薄雾晚晴5 小时前
Rspack 实战:用 image-minimizer-webpack-plugin 做图片压缩,优化打包体积
javascript·vue.js
niuhuahua5 小时前
大模型流式聊天,实时对话,快捷问题选项
vue.js
JIngJaneIL5 小时前
汽车租赁|基于Java+vue的汽车租赁系统(源码+数据库+文档)
java·vue.js·spring boot·汽车·论文·毕设·汽车租赁系统
kymjs张涛5 小时前
零一开源|前沿技术周刊 #15
前端·javascript·面试
Artea5 小时前
聊聊 Vue3 的泛型
vue.js
BYSJMG5 小时前
计算机毕业设计选题:基于Spark+Hadoop的健康饮食营养数据分析系统【源码+文档+调试】
大数据·vue.js·hadoop·分布式·spark·django·课程设计
reacx5 小时前
# 第三章:状态管理架构设计 - 从 Zustand 到 React Query 的完整实践
前端
古夕5 小时前
Vue3 + vue-query 的重复请求问题解决记录
前端·javascript·vue.js