代码问题描述详见:https://ask.dcloud.net.cn/question/125571
- 发布:2021-06-28 16:59
- 更新:2021-06-29 12:00
- 阅读:413
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11.4
HBuilderX类型: 正式
HBuilderX版本号: 3.1.18
手机系统: iOS
手机系统版本号: IOS 14
手机厂商: 苹果
手机机型: iphone8
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
"
mui.plusReady(function() {
var self = plus.webview.currentWebview();
self.addEventListener('show',function()
{
console.log('show');
});
})
"
"
mui.plusReady(function() {
var self = plus.webview.currentWebview();
self.addEventListener('show',function()
{
console.log('show');
});
})
"
预期结果:
每次切换到有监听界面时,都该执行log输出。
每次切换到有监听界面时,都该执行log输出。
实际结果:
安卓正常,IOS只能调试基座打开第一次切换可以监听到show事件,在点击切换tab无法监听
安卓正常,IOS只能调试基座打开第一次切换可以监听到show事件,在点击切换tab无法监听
bug描述:
预加载界面,通过plus.webview.show、hide来切换tab,在界面监听show事件,实现切换界面时候刷新;
安卓测试正常,切换时每次都能监听到show事件。
IOS测试过程中,启动调试基座第一次点击tab可以监听到show事件,后续切换tab,无法监听
只有根组件才有onShow的监听事件,要是你在页面套了组件,子组件是不会触发onShow的。可以在给子组件加上v-if,通过父组件的ohShow和onHide来控制子组件,子组件内部使用created或者mounted来处理onshow的操作
<template>
<view>
<view>我是根组件</view>
<ChildComponent></ChildComponent>
</view>
</template>
<script>
import ChildComponent from '.......'
export default {
components: {
ChildComponent
},
onSHow() {
console.log('show')
}
}
</script>
这种时候,本组件会触发onShow,ChildComponent组件内部的onShow就不会触发。
7***@qq.com (作者)
不好意思,不是很明白,如果是根组件和子组件的问题,为什么安卓没问题,IOS的不行呢?
2021-07-03 08:29