1. 程式人生 > >使用mpvue關於同一頁面跳轉

使用mpvue關於同一頁面跳轉

問題描述: A頁面(A資料) 點選跳轉 到 A頁面,(此時是B資料), 點選跳轉 到 A頁面,(此時是C資料),然後 再點選右上角返回, 回到A頁面B資料,再點選右上角返回,回到A頁面A資料

解決辦法:根據上面的大佬方案解決,但是在清除資料的時候,在mounted生命週期中發現並沒有清除,在onHide生命週期中可以解決該問題

程式碼:
let dataArr = [];
async mounted() {
// Object.assign(this.$data, this.$options.data());
// 這裡可以接受頁面傳遞過來的引數,賦值等操作
const {
id, type, subjectId = 0, shareUid = '',
} = this.$route.query;
await Promise.all([
// 這裡呼叫資料請求等
dataArr.push({ ...this.$data });
},
onUnload() {
// 對儲存的陣列進行操作,主要用來點選返回按鈕的時候用
dataArr.pop();
const dataNum = dataArr.length;
if (!dataNum) return;
Object.assign(this.$data, dataArr[dataNum - 1]);
},
// 這裡對資料進行清空,防止跳轉的時候閃屏
onHide() {
Object.assign(this.$data, this.$options.data());
console.log('頁面發生變化會觸發該事件');
},