3***@qq.com
3***@qq.com
  • 发布:2025-10-15 14:23
  • 更新:2025-10-15 15:09
  • 阅读:25

【报Bug】hBuilderX 4.76 uniapp vue2版编译到WEB端,如果全局混入mixin包含名为showToast的方法,则控制台会报错

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.76

浏览器平台: Chrome

浏览器版本: 100

项目创建方式: HBuilderX

示例代码:

import App from './App';

// #ifndef VUE3
import Vue from 'vue';
import './uni.promisify.adaptor';
Vue.config.productionTip = false;
App.mpType = 'app';

// 全局混入showToast,控制台报错
let mixin = {
methods: {
showToast: function () {
console.log('====== showToast');
}
}
};
Vue.mixin(mixin);

const app = new Vue({
...App
});
app.$mount();
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue';
export function createApp() {
const app = createSSRApp(App);
return {
app
};
}
// #endif

操作步骤:

使用uniapp 创建一个vue2项目,在app.vue文件中,写入一个包含showToast方法名的全局混入mixin

预期结果:

所有端不报错

实际结果:

WEB端报 Method "showToast" has already been defined as a data property.其他端无问题

bug描述:

我们是一个hbuilderX 4.76正式版 uniapp vue2的微信小程序项目,当做WEB端适配时,控制台会报[Vue warn]: Method showToast has already been defined as a data property错。进一步发现创建一个新的vue2项目,如果全局混入包含名为 showToast 的方法,WEB端的控制台会报错,微信小程序端,APP安卓端不会报错。

2025-10-15 14:23 负责人:无 分享
已邀请:
6***@qq.com

6***@qq.com

换个函数名就不报错了,他这里初始化会加这个字段导致的报错

  • 3***@qq.com (作者)

    我这是老的微信项目,要做WEB端适配,新项目到无所谓

    2025-10-15 15:15

  • 6***@qq.com

    回复 3***@qq.com: 全局做一下替换吧,这东西不可能给你优化的

    2025-10-15 15:17

要回复问题请先登录注册