Uncaught TypeError: ‘get‘ on proxy: property ‘modelViewMatrix‘ is a read-only and non-configurable d
上述报错翻译(百度翻译直译)未捕获的类型错误:代理上的“get”:属性“modelViewMatrix”是代理目标上的只读且不可配置的数据属性,但代理没有返回其实际值(预期的“#<_Matrix4>”,但得到的“#<_Matrix4”)作为商业报告
**使用背景:
使用threejs在全局定义一个响应式变量let carArr = reactive([])
,后续在watchEffect
中去改变carArr的值,以此做到响应式处理,
watchEffect(() => {
let tempArr = sourceLoad.sCarSourceStore
if (tempArr) {
carArr.length = 0 // 清空数组
carArr.push(...tempArr) // 添加新数组的元素
console.log('carArr', carArr)
}
})
**问题分析:
**modelViewMatrix 是一个典型的只读属性,用来在渲染过程中计算物体相对于摄像机的变换矩阵。在这个错误信息中,主要的问题是使用了一个 Proxy,而 Proxy 返回的值与预期的不一致。
**解决办法:
`import { toRaw } from '@vue/reactivity'
const model = toRaw(props.CarModel)
`