本文實(shí)例講述了微信小程序實(shí)現(xiàn)兩個(gè)頁(yè)面?zhèn)髦档姆椒ā7窒斫o大家供大家參考,具體如下:
需求:發(fā)送頁(yè)面通過(guò)url傳值,接收頁(yè)面獲取值。
發(fā)送頁(yè)面的js
var nowid='10';wx.navigateTo({ url: '../index/index?id='+nowid,})
或者發(fā)送頁(yè)面用navigate 組件:
<navigate url="xxx?id=10"></navigate >
如果id是page里面data的數(shù)據(jù)。是動(dòng)態(tài)的,那么可以寫(xiě)成:
<navigate url="xxx?id={{pid}}"></navigate >
這種方式也是通過(guò)接收頁(yè)面的onload
來(lái)獲取id的
接收頁(yè)面的js
在接收頁(yè)面onload
的函數(shù)里就可以獲取到值:
onLoad: function (options) { var _obj=options.id; console.log(_obj)}
(1) 接收頁(yè)面獲取到的 options 就是發(fā)送頁(yè)面的 url 中 問(wèn)號(hào)后面?zhèn)鬟^(guò)來(lái)的值
(2) 如果傳過(guò)來(lái)的值是一個(gè)json對(duì)象,那么需要現(xiàn)在發(fā)送頁(yè)面把這個(gè)對(duì)象JSON.Stringfy
轉(zhuǎn)化成字符串,然后 接收頁(yè)面 再使用JSON.parse
轉(zhuǎn)化成json對(duì)象就行。
還有種方法是通過(guò)小程序的本地存儲(chǔ) wx.setStorage()
等API接口來(lái)實(shí)現(xiàn)-----》發(fā)送頁(yè)面存入,接收頁(yè)面在接受。當(dāng)然,不需要的時(shí)候可以把存入的數(shù)據(jù)刪掉
還有一種方式就是:在app.js中設(shè)置數(shù)據(jù),然后其它頁(yè)面在需要的時(shí)候,就可以通過(guò) app.數(shù)據(jù)等形式來(lái)獲取。當(dāng)然,需要在接收數(shù)據(jù)的頁(yè)面聲明:
var app=getApp();
希望本文所述對(duì)大家微信小程序開(kāi)發(fā)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選