1、mpvue在用getCurrentPages()擷取頁面棧時會eslint提示getCurrentPages未定義,原因是getCurrentPages()是小程式的原生方法,不需要定義的,eslint有比較嚴格的校驗,在用getCurrentPages()之前把eslint給disabled就可以。如下
/* eslint-disable */
console.log('pages:===', getCurrentPages())
if (getCurrentPages()[getCurrentPages().length - 2].route === 'pages/activityManage/main') {
wx.navigateBack({
delta: 1
})
}
:
2、如果頁面棧比較多的話,用wx.navigatoTo({url:url}),就會使頁面死掉,傳回上一頁盡量使用
wx.navigateBack({
delta: 2
})
因為小程式的頁面棧隻有5個,超過5個就可能造成丢失參數,頁面請求資料不對等問題。另外最好把資料存儲到storage中,這樣取的時候也比較友善,如果直接放到url中傳參,有可能會丢失,還得在onLoad中取出,比較麻煩。
3、另外做上拉加載時,如果在清單頁面上拉加載到page=3,這時已沒有資料了,再點選左上角的傳回,然後再回到清單頁面,分頁的page還是等于3,這就是資料沒有清空,在onUnload中初始化一下資料,代碼如下:
onUnload () {
Object.assign(this, this.$options.data())
},