技术问题记录

本文介绍了在微信小程序1.0.0版本中,如何在非一级页面处理用户返回操作,避免业务中断,同时提及了1.0.1版本中关于返回上一页的限制以及使用wx.redirectTo进行页面跳转并隐藏左上角home按钮的方法。

遇到的问题

微信小程序&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()
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值