日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序页面栈_微信小程序使用页面栈改变上一页面的数据

發(fā)布時(shí)間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序页面栈_微信小程序使用页面栈改变上一页面的数据 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

微信小程序中如果從一個(gè)頁(yè)面中進(jìn)入下一個(gè)頁(yè)面,如果下個(gè)頁(yè)面的數(shù)據(jù)有刪除或者增加再返回上一個(gè)頁(yè)面的時(shí)候,就會(huì)導(dǎo)致頁(yè)面不刷新(數(shù)據(jù)加載函數(shù)在onload中),從而造成數(shù)據(jù)不一致的情況。其實(shí)在微信小程序中是可以實(shí)現(xiàn)改變上一個(gè)頁(yè)面中的數(shù)據(jù)似的前后兩個(gè)頁(yè)面數(shù)據(jù)一致的。

一般的方法可以使用本地緩存將當(dāng)前頁(yè)面的數(shù)據(jù)放入,回到上級(jí)頁(yè)面的時(shí)候再?gòu)木彺嬷凶x取出來(lái),還有就是使用頁(yè)面棧的。

獲取當(dāng)前頁(yè)面棧的實(shí)例可以通過(guò)getCurrentPages() 函數(shù)。以數(shù)組形式按棧的順序給出,第一個(gè)元素為首頁(yè),最后一個(gè)元素及時(shí)當(dāng)前頁(yè)面。

以下為頁(yè)面棧的使用例子:

前一頁(yè)面:

Page({

data: {

name: ''

},

...

,

//更新name

changeData: function(name){

this.setData({

name: name

})

}

})

當(dāng)前頁(yè)面:

Page({

//此方法用于文本框輸入回調(diào)

inputTyping: function (e) {

//獲取頁(yè)面棧

var pages = getCurrentPages();

var Page = pages[pages.length - 1];//當(dāng)前頁(yè)

var info = prevPage.data //取上頁(yè)data里的數(shù)據(jù)也可以修改

if(pages.length > 1){ //說(shuō)明有上一頁(yè)存在

//上一個(gè)頁(yè)面實(shí)例對(duì)象

var prePage = pages[pages.length - 2];

//關(guān)鍵在這里,調(diào)用上一頁(yè)的函數(shù)

prePage.changeData(e.detail.value)

}

}

})

這樣就可以實(shí)現(xiàn)數(shù)據(jù)傳遞給上一個(gè)頁(yè)面,要注意頁(yè)面上一頁(yè)面必須使用wx.navigateTo()跳轉(zhuǎn)到下一頁(yè)面,不能使用wx.redirectTo,這樣會(huì)關(guān)閉上一個(gè)頁(yè)面,導(dǎo)致頁(yè)面B無(wú)法獲取上一頁(yè)P(yáng)age實(shí)例。

總結(jié)

以上是生活随笔為你收集整理的微信小程序页面栈_微信小程序使用页面栈改变上一页面的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。