一、uniapp關閉當前頁面跳轉
在uniapp中,我們可以使用uni.navigateTo()方法實現關閉當前頁面並打開新的頁面。這種方法可以實現頁面之間的跳轉。
uni.navigateTo({
url: '/pages/index/index'
});
以上的代碼會關閉當前頁面並跳轉到pages文件夾下的index頁面。
二、uniapp關閉頁面進入新頁面
如果需要關閉當前頁面並進入新的頁面,我們可以使用uni.redirectTo()方法。
uni.redirectTo({
url: '/pages/index/index'
});
以上的代碼會關閉當前頁面並進入pages文件夾下的index頁面。
三、uniapp關閉當前頁面,打開新
如果我們需要在關閉當前頁面後打開新的頁面,我們可以使用uni.reLaunch()方法。
uni.reLaunch({
url: '/pages/index/index'
});
以上的代碼會關閉所有頁面再打開pages文件夾下的index頁面。
四、layui關閉當前頁面
uniapp可以使用uni.navigateBack()方法實現關閉當前頁面。但是如果需要在uniapp中使用layui來關閉當前頁面,我們可以使用parent.layer.closeAll()方法實現。
parent.layer.closeAll();
以上的代碼會關閉當前的layui窗口。
五、uniapp關閉頁面回彈
如果需要在關閉當前頁面的同時回傳一些數據,我們可以使用uni.navigateBack()方法並傳入一個參數。
//關閉當前頁面並回傳數據
uni.navigateBack({
delta: 1,
success: function() {
uni.$emit('refresh');
}
})
以上的代碼會關閉當前頁面並回傳數據,並通過uni.$emit()方法觸發refresh事件。
六、uniapp關閉指定的頁面
如果需要關閉指定的頁面,我們可以先使用uni.getCurrentPages()方法獲取當前所有的頁面,然後使用page對象的route屬性匹配需要關閉的頁面,最後調用page對象的方法關閉頁面。
var pages = getCurrentPages();
for (var i = 0; i < pages.length; i++) {
if (pages[i].route == "pages/index/index") {
var page = pages[i]; //獲取需要關閉的頁面
break;
}
}
page.onUnload();
以上的代碼會關閉pages文件夾下的index頁面。
七、uniapp獲取當前頁面
如果需要獲取當前的頁面對象,我們可以先使用uni.getCurrentPages()方法獲取當前所有的頁面,然後使用數組的pop()方法獲取最後一個頁面,即為當前頁面對象。
//獲取當前的頁面對象
var pages = getCurrentPages();
var currentPage = pages[pages.length - 1];
以上的代碼會獲取當前的頁面對象。
八、uniapp關閉頁面丟失緩存
如果需要在關閉頁面的同時清空緩存,我們可以使用uni.clearStorage()方法。
//清空緩存並關閉當前頁面
uni.clearStorage({
success: function() {
uni.navigateBack({
delta: 1
})
}
})
以上的代碼會成功清空緩存並關閉當前頁面。
九、uniapp頁面關閉的事件
如果需要在頁面關閉時觸發一些事件,我們可以使用onUnload()方法來監聽頁面關閉事件。
methods: {
onUnload: function() {
uni.$emit('close');
}
}
以上的代碼會在頁面關閉時觸發uni.$emit()方法,發送close事件。
十、uniapp取消啟動頁選取
如果我們需要在uniapp啟動時取消啟動頁選取,我們可以在manifest.json文件中配置
"app": {
"launch_path": "/pages/index/index",
"subpackages": [],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "WeChat",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"pages": [
{
"path": "pages/index/index",
"style": {}
}
],
"tabBar": {}
},
"page": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "xxx",
"navigationBarTextStyle": "black"
},
"permission": {
"scope.userLocation": {
"desc": "獲取當前位置"
}
},
"noPromiseAPI": [
"createSelectorQuery"
],
"preloadRule": {
"pagePath": "/pages/index/index",
"network": "all",
"packages": []
},
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "xxx",
"navigationBarTextStyle": "black"
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
"tabBar": {
"backgroundColor": "#fafafa",
"borderStyle": "white",
"color": "#808080",
"selectedColor": "#1296db",
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "static/img/home.png",
"selectedIconPath": "static/img/home-active.png",
"text": "首頁",
"badge": {
"type": "none",
"text": ""
}
}
]
},
"debug": true,
"resizable": true,
"subPackages": []
}
以上的代碼會取消啟動頁選取。
原創文章,作者:QKVUO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/331865.html