不如摸鱼去
不如摸鱼去
  • 发布:2023-04-28 17:37
  • 更新:2024-04-11 14:43
  • 阅读:421

【报Bug】vue3编译到H5和app,wxs回调逻辑层无效,instance上没有挂载defineExpose暴露出的方法

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11专业版 22621.1413

HBuilderX类型: 正式

HBuilderX版本号: 3.7.11

浏览器平台: Edge

浏览器版本: 112.0.1722.58

项目创建方式: HBuilderX

示例代码:

vue3下使用script setup语法糖,编译到H5和APP,wxs回调逻辑层无效,而编译到微信是生效的,如果不使用script setup的话callMethod也是可以成功的。

debugger发现instance上并没有挂载defineExpose暴露出的方法

代码见附件

操作步骤:

代码见附件

预期结果:

H5和app正常触发callMethod

实际结果:

H5和app没有正常触发callMethod

bug描述:

vue3下使用script setup语法糖,编译到H5和APP,wxs回调逻辑层无效,而编译到微信是生效的,如果不使用script setup的话callMethod也是可以成功的。

debugger发现instance上并没有挂载defineExpose暴露出的方法

代码见附件

2023-04-28 17:37 负责人:无 分享
已邀请:
不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

改成非script setup写法就可以了,希望可以改一下。

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

vue3下使用script setup语法糖,编译到H5,wxs回调逻辑层无效,如果不使用script setup的话callMethod是可以成功的,参考问题两块代码段

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

打印instance发现,instance上没有挂载相关的方法,但是在ins.$vm._.expose中发现了暴露出的方法

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

  if (ins.$vm._&&ins.$vm._.exposed) {  
     ins.$vm = {...ins.$vm,...ins.$vm._.exposed}  
  }

在H5和APP-PLUS需要这样才行,callMethod才会生效

  • 不如摸鱼去 (作者)

    说错了,APP-PLUS这样写也不行,h5可以,总之就是instance上没挂方法

    2023-05-15 20:50

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

这个和之前社区其他人提wxs的问题不是同一个问题,麻烦出个官方的大哥看一下

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

复现demo见附件。

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

问题还在.

不如摸鱼去

不如摸鱼去 (作者) - 一个前端打工仔。如果我的回答对你产生了帮助,还请给个star: https://github.com/Moonofweisheng

置顶置顶

Luoxue

Luoxue

同样遇到这个问题,instance.$vm._.exposed.fn的方式来处理的,希望官方处理一下。

要回复问题请先登录注册