xiaojierun
xiaojierun
  • 发布:2020-11-27 12:04
  • 更新:2020-11-27 14:33
  • 阅读:85

【报Bug】用nvue开发map地图 subNvue的ononMessage在ios失效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 2.9.8

手机系统: iOS

手机系统版本号: iOS 13.1

手机厂商: 苹果

手机机型: iphone

页面类型: nvue

nvue编译模式: fast

打包方式: 离线

项目创建方式: HBuilderX

示例代码:

用nvue开发map 高德地图
vue父页面 向nvue页面通信,测试发现 android正常,ios无法通信。 见图
hbx版本: 2.9.8.20201119

本来想用uni.$emit 传值的,但是发现 这种方法 nvue页面向 vue页面可以使用,反过来就没有效果了,就采用了postMessage的

操作步骤:

nvue 页面

onReady() {  
 let that = this;  
that.init()  
},  
methods(){  
  init(){  
                let _self = this;  
                _self.map_nvue = uni.getCurrentSubNVue();  
                console.log('_self.map_nvue',_self.map_nvue )  

                _self.map_nvue.onMessage(res => {  
                    let data = res.data;  
                    console.log('ressss',res)  
                    _self.setMapData(data);  
                });  

                uni.$on('play', data => {  
                    console.log('data',data);  
                });  
            },   
}

vue 页面

<template>  
    <view class="wrapper">  

    </view>  
</template>  

<script>  
    import {  
        mapState,  
        mapMutations  
    } from 'vuex'  
    export default {  
        computed: mapState([ 'userCurrentAddress']),  
        data() {  
            return {  
                title: '使用nvue构建地图',  
                map_nvue: null  
            };  
        },  
        onLoad() {  
            this.getUserCurrentAddress();  
            this.map_nvue = uni.getSubNVueById('addressTitleNvue');  
            console.log('map',this.map_nvue)  
            // 向nvue页面发送数据  
            // uni.$emit('mapData',this.userCurrentAddress);  
            this.map_nvue.postMessage(this.userCurrentAddress);  
            uni.$emit('play', {  
                videoPlay: 2  
            });  
            // 接收来自nvue页面数据  
            /* this.map_nvue.onMessage(function(data){  
                console.log('监听来自所属页面的message::::::::' + JSON.stringify(data));  
            }) */  

        },  
        methods: {  
            ...mapMutations(['getUserCurrentAddress'])  
        }  
    }  
</script>  

<style lang="scss">  

</style>  

预期结果:

onMessage 能通讯成功

实际结果:

onMessage 能通讯成功

bug描述:

2020-11-27 12:04 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_linju_json

DCloud_UNI_linju_json

  • xiaojierun (作者)

    已解决了,谢谢

    2020-11-27 19:05

要回复问题请先登录注册