【发布时间】:2022-10-24 16:27:51
【问题描述】:
我想提供反应对象作为只读如下所示。
// parent component
const test = ref({ test: 'test' })
provide('test', readonly(test))
然后我认为当我注入它时应该是只读的。
// child component
const test = inject('test')
test.value = 'changed!' // should be error
但实际上这不是错误。此代码不会在浏览器上显示任何错误消息。
有什么方法可以提供在子组件上只读的反应对象?
如果有人知道这个解决方案,请给我们答案。
- - - 附加信息 - - - - - - 我也在本文档中尝试此代码。 https://vuejs.org/api/reactivity-core.html#readonly 这就像下面说的,实际上我的 Veture 在 VScode 上警告过它,但它被计数了。
// mutating the copy will fail and result in a warning
copy.count++ // warning!
该链接是 Vue 的文档,但我正在使用 '@nuxtjs/composition-api' ,这可能是一个原因......?
我还查看了这篇文章this article。但我仍然能够更改子组件中的注入对象。
【问题讨论】:
标签: typescript nuxt.js vuejs3 nuxtjs3