You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3中基于另一computed定义的title computed未正常更新如何解决

问题根因
  • editMode是computed方法返回的Ref包装对象,而非实际的布尔值。在JavaScript中,所有非空对象做布尔判断时都会被转换为true,因此你的title计算属性的三元判断永远命中'Details'分支,不会响应editMode的实际值变化。
  • 额外说明:只有在<template>模板中使用computed值时才会自动解包,在<script>的逻辑代码中必须显式访问.value才能拿到实际存储的值。
修复方法

修改title计算属性的逻辑,显式访问editMode.value取实际布尔值即可:

setup(props) {
  const {id} = toRefs(props)
  const editMode = computed(() => {
    return id.value !== 0
  })
  const title = computed(() => {
    // 显式取.value拿到computed存储的实际布尔值
    return editMode.value ? 'Details' : 'New'
  })
}

内容的提问来源于stack exchange,提问作者calin24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:15:06