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)

BUG.zip

4 回复

问题解决了吗vant3


是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');
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!