这里写自定义目录标题
- 遇到的问题
- 微信小程序&uniapp
- 1.0.0、微信小程序中非一级页面,用户点击返回,要能够中断做业务处理;
- 1.0.1、微信小程序中,不允许用户返回上一页的操作(同上另外解决方案)
遇到的问题
微信小程序&uniapp
1.0.0、微信小程序中非一级页面,用户点击返回,要能够中断做业务处理;
// 1、在 pages.json 的 pages 配置项下, 修改 pages/index/index 页面的配置如下:
"pages": [
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "uni-app",
"navigationStyle":"custom"
}
}
],
// pages/index/index 代码为
<template>
<view>
<!-- 自定义导航栏 -->
<view class="navBarBox">
<!-- 状态栏占位 -->
<view class="statusBar" :style="{ paddingTop: statusBarHeight + 'px' }"></view>
<!-- 真正的导航栏内容 -->
<view class="navBar">
<image class="logo" src="/static/logo.png" mode="scaleToFill"></image>
<view>我是导航栏标题</view>
</view>
</view>
<!-- 页面内容 -->
<view>我是页面内容</view>
</view>
</template>
<script>
export default {
data() {
return {
// 状态栏高度
statusBarHeight: 0,
// 导航栏高度
navBarHeight: 82+11,
};
},
props: {
},
//第一次加载时调用
created() {
//获取手机状态栏高度
this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];
},
}
</script>
<style>
.navBarBox{}
.navBarBox .statusBar {}
.navBarBox .navBar {
padding: 3rpx 50rpx;
padding-bottom: 8rpx;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.navBarBox .navBar .logo {
width: 82rpx;
height: 82rpx;
margin-right: 10rpx;
}
</style>
说明:
- 页面加载后,计算导航栏高度。
- 得到状态栏高度后,将状态栏高度赋值给状态栏占位元素。这样就空出了状态栏。注意状态栏的单位为px,其它地方使用的单位为rpx。
- 导航栏中放置一个image元素,用于展示LOGO。再放一个view元素,用于展示标题。
原文字地址,写的非常不错
1.0.1、微信小程序中,不允许用户返回上一页的操作(同上另外解决方案)
微信小程序中,不允许用户返回上一页的操作
//用wx.redirectTo来做跳转页面
wx.redirectTo({
url: '/pages/index/index'
})
但是用了这个之后会发现小程序左上角会多了一个home的小按钮,可以在onShow中添加wx.hideHomeButton(),即可消除
onShow: function () {
wx.hideHomeButton()
},