最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序阻止小程序返回的兩種方法

 更新時間:2023年04月23日 10:48:34   作者:胖子liu  
這篇文章主要給大家介紹了關于微信小程序阻止小程序返回的兩種方法,分別是通過wx.enableAlertBeforeUnload和page-container,兩種方法都給出了詳細的實例,需要的朋友可以參考下

本次項目為uniapp開發(fā),原生小程序也可以參考這兩個方法。

方法1:

wx.enableAlertBeforeUnload

onLoad中聲明

wx.enableAlertBeforeUnload({
	message: '請您填寫數(shù)據',
	success:()=>{}
})

優(yōu)點:簡單方便

缺點:無法自定義樣式、按鈕文字及樣式

方法2:

page-container

這是一個類似彈框的組件,具體參數(shù)可以去官網查看。

返回操作包括:頂部導航、右滑手勢、安卓物理返回鍵和調用 navigateBack 接口

優(yōu)點:可以自定義返回框

<template>
<view>
	<text>測試阻止返回的頁面</text>
	<!-- 阻止返回 -->
	//注意一定要用v-if 才可以,不然即使showPage1設置為false,第二次也會直接返回
	<view class="" v-if="showPage1">
		<page-container :show="showPage1" :overlay="false"  @beforeleave="beforeleave('showPage1')"></page-container>
	</view>
</view>
</template>
//數(shù)據及方法
data(){
	return {
		showPage1: true   //一開始設置為顯示
	}
},
methods: {
	beforeleave(){
		this.showPage1 = false  //這個很重要,一定要先把彈框刪除掉
		uni.showModal({
			title: `確定要退出嗎`,
			success: (e)=>{
				if(e.confirm) {
				//判斷是上一個頁面進入(返回),還是直接進入這個頁面(回首頁)
					let pages = getCurrentPages()
					if(pages.length == 1){
						uni.switchTab({
							url: '/pages/index/index'
						})
					}else {
						uni.navigateBack(1)
					}
				}else {
					//點取消,生成新的彈框
					this.showPage1 = true
				}
			},
		})
	}
}

后語:對于page-container原理的個人理解

網上、官網上很多人只提到了這種方法可以解決阻止返回問題,卻沒有很好的說明,導致很多朋友在使用時并沒有達到預期效果。下面這個簡單理解希望可以幫助到大家。

可以簡單理解為在頁面生成page-container時會通知小程序需要監(jiān)聽用戶返回操作,并且阻止返回一次。

當用戶做了返回操作后,小程序執(zhí)行了阻止返回,然后移除了監(jiān)聽,所以接著再做一次返回操作就直接返回了。

所以要達到不點擊確定返回,下一次做返回操作時依舊要阻止,就可以在每次返回點取消時候,移除page-container,再重新生成一個page-container,這時就又會重新通知小程序監(jiān)聽返回一次,所以上文用的是v-if。

總結

到此這篇關于微信小程序阻止小程序返回的兩種方法的文章就介紹到這了,更多相關阻止小程序返回內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

蓝田县| 微山县| 项城市| 开封县| 象州县| 江陵县| 长春市| 河池市| 河间市| 随州市| 页游| 邢台县| 聊城市| 桦川县| 白城市| 邮箱| 沧州市| 丽江市| 荥经县| 祁连县| 同江市| 铁岭市| 敖汉旗| 含山县| 九龙坡区| 永吉县| 石林| 利津县| 隆回县| 合川市| 郯城县| 杨浦区| 河东区| 温泉县| 海丰县| 本溪市| 吉林市| 南乐县| 玉龙| 张北县| 石阡县|