吾逍遥
吾逍遥
  • 发布:2021-11-03 18:18
  • 更新:2022-10-19 18:00
  • 阅读:1331

【报Bug】Vue3编译时,renderjs中callMethod方法显示未定义,在Vue2下正常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.12

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: 小米Max2

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<script module="test" lang="renderjs">  
export default {  
    mounted(e, ins, owner) {   
       let _this=this;  
          let message = { type: 'login',data: {} };  
          message.data.mid = 'school_78';  
       message.from = "h5";  
       // #ifdef APP-PLUS  
       message.from = "app";  
       // #endif  
       // #ifdef H5  
       message.from = "pc";  
       // #endif  
       // #ifdef MP  
       message.from = "mini";  
       // #endif  
       // 三、原生Websocket  
       let socketTask2 = new WebSocket('ws://10.20.20.250:8284');  
       socketTask2.onopen=function(data){  
        console.log('WebSocket连接已打开!');  
        socketTask2.send(JSON.stringify(message));  
       };  
       socketTask2.onerror=function(err){  
        console.log('WebSocket连接打开失败,请检查!');  
       };  
       socketTask2.onmessage=function(res){  
        let data = JSON.parse(res.data);  
        switch (data.type) {  
            case 'ping':  
                message.type = 'pong';  
                socketTask2.send({ data: JSON.stringify({ message }) });  
                break;  
            case 'connect':  
                _this.$ownerInstance.callMethod('receiveRender',data);  
                break;  
        }  
       };  
    },  
    methods: {  
        // ...  
    }  
}  
</script>

操作步骤:

在manifest.json中Vue版本选择2编译一切正常,选择3再编译时报callMethod未定义

预期结果:

可以将视图层renderjs中数据传递给逻辑层

实际结果:

Vue2正常传递,Vu3无法传递

bug描述:

Vue3对renderjs支持不全面,如callMethod显示未定义,而Vue2的renderjs中编译一切正常,希望Vue3对renderjs支持进行修复,不然视图层与逻辑层无法传输数据,看官方Hello示例中mouted支持(e, ins, owner) 三个参数,在Vue3下全部显示未定义!

2021-11-03 18:18 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

  1. mounted 生命周期是不会接收任何参数的,这是标准的vue的生命周期,
    你说在hello里看到有此用法,是否可以贴图或贴代码
  2. 测试在vue3中renderjs的callMethod可以正常调用,如有问题,可以发一个完整的测试工程,说明测试步骤
  • 2dfAs但是

    在vue3工程下确实存在这个问题

    2022-09-20 23:46

  • lihailan

    vue3中renderjs的callMethod可以正常调用 放到鸿蒙虚拟机 不能正常调用了,怎么处理

    2024-08-02 11:19

2dfAs但是

2dfAs但是 - 123123

在vue3工程下确实存在这个问题

y***@foxmail.com

y***@foxmail.com

我也碰到了

该问题目前已经被锁定, 无法添加新回复