一、小程序返回上一頁前提示
當用戶點擊返回按鈕時,如果需要彈窗提示,可以使用uni-app框架提供的返回按鈕的beforeBackEvent函數。代碼如下:
// 在頁面中定義方法
methods: {
beforeBackEvent: function (e) {
uni.showModal({
title: '提示',
content: '確定要返回上一頁嗎?',
success: function (res) {
if (res.confirm) {
// 用戶點擊確定,執行返回操作
uni.navigateBack({
delta: 1
});
} else if (res.cancel) {
// 用戶點擊取消,不做任何操作
console.log('用戶點擊取消');
}
}
});
}
},
// 在頁面中定義返回按鈕的config參數
onLoad: function() {
uni.setNavigationBarColor({
frontColor: '#ffffff',
backgroundColor: '#007aff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
//設置返回按鈕的config
uni.setNavigationBarColor({
backgroundColor: '#007aff',
animation: {
duration: 400,
timingFunc: 'easeIn'
},
backBtn: true,
beforeBackEvent: this.beforeBackEvent // beforeBackEvent返回函數
});
},
二、小程序返回上一頁不刷新數據
小程序返回上一頁時,默認是不刷新數據的,如果需要更新數據,可以在onUnload函數中執行一些操作。代碼如下:
// 上一個頁面的data對象
onUnload: function () {
var pages = getCurrentPages();//獲取頁面棧
var prevPage = pages[pages.length - 2];//上一個頁面對象
//直接調用上一個頁面的setData()方法,把數據存儲到上一個頁面即可
prevPage.setData({
message: '你好,小程序'
})
},
三、小程序返回上一頁會執行onload嗎
小程序返回上一頁時,如果是通過navigateBack或redirectTo跳轉到的頁面,則不會執行onload函數;如果是通過switchTab或navigateTo跳轉到的頁面,則會執行onload函數。
四、小程序返回上一頁事件
小程序返回上一頁時,可以通過uni-app框架提供的navigateBack函數實現。代碼如下:
// 返回上一頁
uni.navigateBack({
delta: 1
});
五、小程序返回上一頁帶參數
小程序返回上一頁時,帶參數可以使用navigateBack函數的參數query,將參數傳遞到上一頁。代碼如下:
// 上一頁的js代碼
onLoad: function (options) {
console.log(options.name); // 打印參數name的值
}
// 當前頁面的js代碼
uni.navigateBack({
delta: 1,
query: {
name: 'jack'
}
});
六、返回上一頁小程序
返回上一頁小程序時,可以使用uni-app框架提供的navigateBackMiniProgram函數實現。代碼如下:
// 返回上一頁小程序
uni.navigateBackMiniProgram({
extraData: {
name: 'Jack',
age: 18
},
success: function () {
console.log('返回上一頁小程序成功');
}
});
七、小程序返回上一頁更新數據
小程序返回上一頁時,可以更新上一頁的數據,通過uni-app提供的navigateBack函數的delta參數,可以指定返回的頁面數。代碼如下:
// 上一頁的js代碼
onLoad: function () {
console.log('上一頁的數據已更新');
}
// 當前頁面的js代碼
uni.navigateBack({
delta: 1
});
八、小程序返回上一頁並執行事件
小程序返回上一頁時,可以同時執行上一頁的某些事件,通過uni-app提供的navigateBack函數的delta參數和animation參數分別指定返回的頁面數和返回動畫。代碼如下:
// 上一頁的js代碼
pageScroll: function () {
console.log('頁面已滾動');
}
// 當前頁面的js代碼
uni.navigateBack({
delta: 1,
animationType: 'slide-out-right',
animationDuration: 500,
success: function () {
// 執行上一頁的pageScroll函數
var pages = getCurrentPages();//獲取頁面棧
var prevPage = pages[pages.length - 2];//上一個頁面對象
prevPage.pageScroll()
}
});
九、微信小程序返回上一頁彈窗提示
微信小程序返回上一頁時,可以使用wx.showModal彈窗提示用戶。代碼如下:
wx.showModal({
title: '提示',
content: '確定要返回上一頁嗎?',
success: function (res) {
if (res.confirm) {
// 用戶點擊確定,執行返回操作
wx.navigateBack({
delta: 1
});
} else if (res.cancel) {
// 用戶點擊取消,不做任何操作
console.log('用戶點擊取消');
}
}
});
十、微信小程序返回上一頁調用方法
微信小程序返回上一頁時,可以通過wx.navigateBack函數完成。如果需要調用上一頁的某些方法,可以通過獲取頁面棧的方式獲取到上一頁對象,然後直接調用該對象的方法即可。代碼如下:
// 上一頁的js代碼
Page({
data: {},
onLoad: function () {},
refresh: function () {
console.log('數據已刷新');
}
})
// 當前頁面的js代碼
var pages = getCurrentPages();//獲取頁面棧
var prevPage = pages[pages.length - 2];//上一個頁面對象
prevPage.refresh();
wx.navigateBack({
delta: 1
});
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/159726.html
微信掃一掃
支付寶掃一掃