基于 vue 3 中计算的另一个计算的更改

change computed based on another computed in vue 3

我在 vue 3 中有这个。我需要使用 prop id 更改标题如果是 0 应该是 'New' 否则 'Details' 基于我的另一个计算 属性编辑模式

setup(props) {
  const {id} = toRefs(props)
  const editMode = computed(() => {
    return id.value !== 0
  })
  const title = computed(() => {
    return editMode ? 'Details' : 'New'
  })
}

问题是当 editMode 为 false 时,标题没有改变.....一直保持 'Details'。

有什么想法吗?

我认为你需要在标题计算中将 editMode 更改为 editMode.value,因为 editMode 也属于 Ref 类型。

const title = computed(() => {
  return editMode.value ? 'Details' : 'New'
})

这应该可以简单地解决您的问题。

也尝试 console.log(typeof id.value) 以确保字符串 '0' 和数字 0 没有混淆。