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

【报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

我也碰到了

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

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容