欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序頁面返回問題 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

微信小程序頁面返回問題

發(fā)表時間:2020-9-23

發(fā)布人:葵宇科技

瀏覽次數(shù):143

一、回退上一級頁面 beforePage

返回頁面同時需要刷新數(shù)據(jù)

var pages = getCurrentPages(); //當(dāng)前頁面
var beforePage = pages[pages.length - 2]; //前一頁
wx.navigateBack({
  success: function () {
    beforePage.onLoad(); // 執(zhí)行前一個頁面的onLoad方法
  }
});

二、回退 3 級頁面 wx.navigateBack

當(dāng)我們頁面跳轉(zhuǎn)到三級頁面后,點擊左上角的返回按鈕,能夠直接返回到首頁

  • wx.navigateBack 這個方法可以返回界面 在 onUnload 觸發(fā)的時候可以執(zhí)行。但是我發(fā)現(xiàn)這個方法確實可以回到首頁,但是他會一個一個界面返回,不能直接返回到首頁

onUnload:function(){
  wx.navigateBack({
    delta: 3
  })
}
  • 正常 A -> B -> C 都是通過 wx.navigateTo 跳轉(zhuǎn)的,所以 wx.navigateBack 只能返回上一界面,如果要返回到A 界面就會出現(xiàn) C -> B -> A 的效果。
    如果想實現(xiàn) A -> B -> C 當(dāng) C 點擊返回時, 實現(xiàn)直接 C -> A 這種效果就只能 A -> B 通過 wx.navigateTo 跳轉(zhuǎn) B -> C 通過 wx.redirectTo 跳轉(zhuǎn),跳轉(zhuǎn)觸發(fā)后 B 頁面就會被銷毀,C 頁面再返回 wx.navigateBack 就會直接到 A 了。

wx.redirectTo({
  url: url
})

三、回退 4 級或者更多級頁面,wx.reLaunch

onUnload() {
  console.log('返回按鈕')
  wx.reLaunch({
    url: '../../pages/index'
  })
}

四、返回多級頁面,同時刷新

比如我們現(xiàn)在希望在第四級頁面返回首頁后刷新,我們需要在 onShow 方法中調(diào)用 onLoad() 方法

  • 頁面需要帶參進來的情況

onShow() {
  this.onLoad({
    uid: this.$parent.globalData.enterid
  })
}
  • 頁面不需要帶參的情況

onShow() {
  this.onLoad()
}

五、帶參數(shù)返回上個頁面

  • 當(dāng)前頁面

var pages = getCurrentPages();   //當(dāng)前頁面
var prevPage = pages[pages.length - 2];   //上個頁面
// 直接給上一個頁面賦值
prevPage.setData({
  params: this.data.params
});

wx.navigateBack({
  delta: 1
})
  • 要跳轉(zhuǎn)的頁面

data: {
  params: null,
},

onShow: function () {
  let pages = getCurrentPages();
  let currPage = pages[pages.length - 1];
  // 將攜帶的參數(shù)賦值
  this.setData({
    params: currPage.data.params,
  });
}

經(jīng)過測試發(fā)現(xiàn)只在 data 里定義參數(shù),不寫 onShow() 方法,也可以獲取到上個頁面?zhèn)鬟^來的值

六、對于攜帶不同參數(shù)的情況,頁面跳轉(zhuǎn)最好不要采用帶參跳轉(zhuǎn)方式,采用全局變量方式比較好

比如:
從 A 頁面到 B 頁面帶的對象 a = {name: '小明', age: '18'}
從 C 頁面到 B 頁面帶的對象 c = {pname: '小紅', page: '17'}
像這樣對象內(nèi)部的字段名稱不一樣,B頁面在拿到該對象后無法解析

在全局中定義變量 e ,在 A 頁面中跳轉(zhuǎn)前設(shè)置

this.$parent.globalData.e.name = a.name;
this.$parent.globalData.e.age = a.age;
wx.navigateTo({
  url: 'B'
})

在全局中定義變量 e ,在 C 頁面中跳轉(zhuǎn)前設(shè)置

this.$parent.globalData.e.name = c.pname;
this.$parent.globalData.e.age = c.page;
wx.navigateTo({
  url: 'B'
})

在 B 頁面 onLoad() 方法中取值

this.obj = this.$parent.globalData.e,
console.log(obj.name);
console.log(obj.age);


相關(guān)案例查看更多