mpvue开发小程序常见问题记录

8次阅读

共计 980 个字符,预计需要花费 3 分钟才能阅读完成。

1、小程序
页面被关闭后,重新打开改页面,页面 onshow 时。该页面调用的子组件,无法监听到该页面上的 onshow 方法,重新调取接口获取数据,组件传时间戳,用 watch 监听时间戳判断或者子组件外层 v -if 控制子组件是否显示
2、小程序 v -if,使用 v -show 时控制显示与隐藏时,picker-view 的 change 事件触发会导致,获取的日期为默认值
3、mounted:你如果从页面 B 返回页面 A,页面 A 的 mounted 钩子不会被触发,因为页面没有被重新加载,如果有需要每次页面展示都要调用的逻辑,使用小程序的 onShow 代替
4、自定义 tabBar 菜单,如需实现 tab 选中态,要在当前页面下,通过 getTabBar 接口获取组件实例,并调用 setData 更新选中态。app.json 页面可以控制 tabBar 在子页面不显示,”usingComponents”: {}
5、onpulldownrefresh() 下拉刷新调用后,需要执行方法停止刷新 wx.stopPullDownRefresh()
6、onShareAppMessage,url 无法获取异步参数,可通过.target 传值
7、小程序页面分享,需要授权登入后再执行后续操作,这种场景,可以通过父子组件,父组件 computed 监听判断授权成功后,再执行显示子组件。其中需要监听父页面的 onShow(显示)、onHide(隐藏),来控制子组件是否显示,使得再次进入页面时,子组件能重新执行。子组件,v-if 控制是否显示,必须在外层加标签,否则不会重新显示或者隐藏。特殊场景下,导致授权未成功需要,强行跳转到授权页面,小程序有 5 分钟的缓存时间。
8、小程序自定义底部导航栏横条,iphonex 兼容,其他全面屏手机不会出现此问题
bottom: constant(safe-area-inset-bottom); / 兼容 iOS < 11.2 /
bottom: env(safe-area-inset-bottom); / 兼容 iOS >= 11.2 /
解决底部 tabBar 背景色不一致的问题
<div class=”bottom-bg”></div>,新增空白 div 给高度
.bottom-bg{
position: absolute;
width: 100%;
left: 0;
height: 49px;
top: 100%;
background-color: #fff;
}

正文完
 0