5***@qq.com
5***@qq.com
  • 发布:2024-07-01 12:19
  • 更新:2024-07-01 12:19
  • 阅读:87

【报Bug】项目由vue2迁移为vue3后,点击手机底部返回键报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: Android

手机系统版本号: Android 14

手机厂商: vivo

手机机型: vivo12

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

WebviewTemplateIndex.vue页面代码如下
<template>
<view class="page-container">
<button class="btn" @tap="next()">下一步</button>
</view>
</template>
<script>
export default {
data() {
return {

        };  
    },  
    onLoad(object) {  

    },  
    methods: {  
        next:function(){  
            uni.navigateTo({  
                url: '/pages/WebviewTemplateTest'  
            });  
        }  
    },  

};  

</script>
<style scoped="">
.page-container{
padding-top:300rpx;
}
.btn{
height:88rpx;
width:90%;
background:#f0f0f0;
}
</style>

WebviewTemplateTest.vue页面代码如下
<template>
<view class="page-container">

</view>  

</template>
<script>
export default {
data() {
return {
wv: null,
webUrl:"https://www.cxzly.com/static/h5/page/travel/travel01_index.html"

        };  
    },  
    onLoad(object) {  
        console.log("aaaaaaaaaaaaaa")  
        this.wv = plus.webview.create(this.webUrl, 'webview-template', {  
            top: '20px', //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值  
            bottom: '0px',  
            scalable: true,  
            backButtonAutoControl: "none"  
        }, this.extras || {});  

        let currentWebview;  
        // #ifdef APP-PLUS  
        currentWebview = this.$scope.$getAppWebview(); //获取当前页面的webview对象  

        currentWebview.append(this.wv); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭  
        // #endif  
    },  
    methods: {  

    },  

};  

</script>
<style scoped="">
</style>

操作步骤:

运行,打开WebviewTemplateIndex页面下一步,跳到页面WebviewTemplateTest页面,点击手机底部返回键

预期结果:

不会报错,能正常返回到上一页面

实际结果:

无法返回,报错

bug描述:

项目由vue2迁移为vue3后,点击手机底部返回键报错,在vue2版本上可以正常回退到上一个页面,
VUE2迁移为VUE3后,一个uniapp页面里用到了web-view组件加载了一个index.html页面,在index.html页面中执行plus.webview.currentwebview().parent().evalJS("uni.navigateBack()")报错,vue2下不报错能正常回退。Vue3下报错,报错信息如下

2024-07-01 12:19 负责人:无 分享
已邀请:

要回复问题请先登录注册