uni-app vue3错误 Cannot redefine property: instance
uni-app vue3错误 Cannot redefine property: instance
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Win10 | HBuilderX |
操作步骤:
- 下载示例
- 执行
npm i
- 运行 -> 运行到浏览器 -> Chrome
- 点测试一 和 测试二后在弹出的窗口或遮罩上点鼠标,调试会输出错误
预期结果:
- 不报错
实际结果:
- 报错
bug描述:
Vue3当页面显示 el-dialog
时,显示下面错误
Uncaught TypeError: Cannot redefine property: instance
at Function.defineProperty (<anonymous>)
at wrapperH5WxsEvent (uni-h5.es.js:1205:12)
at $nne (uni-h5.es.js:1234:14)
at HTMLDivElement.invoker (vue.runtime.esm.js:9533:19)
4 回复
是uniapp的bug,目前最新版本已经修复过了
哪个版本修复了
在 uni-app 中使用 Vue 3 时,如果你遇到 Cannot redefine property: instance
的错误,通常是因为在某个地方尝试重新定义或修改一个不可配置的属性。这个错误可能与 Vue 3 的内部实现或你的代码逻辑有关。
以下是一些可能的原因和解决方法:
1. 检查 Vue 3 的版本
确保你使用的 Vue 3 版本与 uni-app 兼容。uni-app 对 Vue 3 的支持可能有限,尤其是在某些版本中。尝试更新或降级 Vue 3 的版本,看看问题是否解决。
2. 检查插件或库的兼容性
如果你使用了某些第三方插件或库,确保它们与 Vue 3 兼容。某些插件可能不支持 Vue 3,或者需要特定的配置。
3. 检查代码中的 Object.defineProperty
Cannot redefine property
错误通常与 Object.defineProperty
有关。检查你的代码中是否有使用 Object.defineProperty
来定义或修改属性。确保你没有尝试重新定义一个不可配置的属性。
例如:
Object.defineProperty(obj, 'prop', {
value: 42,
writable: false,
configurable: false
});
// 以下代码会抛出错误,因为 `prop` 是不可配置的
Object.defineProperty(obj, 'prop', {
value: 100
});
4. 检查 Vue 3 的实例化
确保你在正确的地方实例化 Vue 3 应用。如果你在多个地方尝试创建 Vue 实例,可能会导致冲突。
例如:
import { createApp } from 'vue';
import App from './App.vue';
const app = createApp(App);
app.mount('#app');