首页 > 解决方案 > Vue.js3 - Reaonly 在嵌套对象上

问题描述

有没有办法使用新的 Vue.js Reactivity API将对象键绑定到现有的 Ref 值作为只读?

例子

setup() {
  const input = ref({
    firstName: 'Bob',
    email: 'bob@so.com'
  })

  const args = {
    postID: 32,
    email: readonly(input.value.email)
  }

  return { input, args }
}

这行不通。
args.email没有得到更新。

标签: javascriptvue.jsvue-reactivity

解决方案


正如@boussadjra-brahim指出的那样,只读不能用于嵌套字段。
只有在不复制整个对象的情况下才能使用计算的解决方法。

const args = computed(() => {
  return {
    post_id: 32,
    email: input.value.email,
  }
})

推荐阅读