访问对象属性失败?
onMounted(() => {
const formData = toRaw(formConfigVal.value.formData.details);
console.log(formData.fields
})
访问fields属性有报错
toRaw里面包裹的是一个proxy对象,起初认为是proxy对象造成的访问不了fields属性,后面toRaw返回原始值之前还是访问不了,不知道是啥原因,很奇怪的bug
访问对象属性失败?
onMounted(() => {
const formData = toRaw(formConfigVal.value.formData.details);
console.log(formData.fields
})
访问fields属性有报错
toRaw里面包裹的是一个proxy对象,起初认为是proxy对象造成的访问不了fields属性,后面toRaw返回原始值之前还是访问不了,不知道是啥原因,很奇怪的bug
从你给出的代码片段来看,问题可能出在尝试访问formData.fields
时。如果formData
是null
或undefined
,那么尝试访问formData.fields
将会抛出错误。
在你的代码中,你首先通过toRaw
函数获取了formConfigVal.value.formData.details
的原始值,然后尝试访问其fields
属性。如果formConfigVal.value.formData.details
中的任何一个属性是null
或undefined
,那么在执行toRaw
函数后,你可能会得到一个null
或undefined
的formData
值。
要解决这个问题,你可以在尝试访问formData.fields
之前检查formData
的值。例如:
onMounted(() => {
const formData = toRaw(formConfigVal.value.formData.details);
if (formData) {
console.log(formData.fields);
} else {
console.log('formData is null or undefined');
}
})
这样,如果formData
是null
或undefined
,你将看到一个消息而不是一个错误。如果你认为不应该有这种情况发生,你可能需要检查为什么你的应用在运行时会得到一个空的formData
值。
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
单纯看你提供的代码,明显是
toRaw
这个方法有问题,返回值和你想的不一样的