摘要:一路由跳轉(zhuǎn)需求如何獲取當(dāng)前頁(yè)面的上一個(gè)頁(yè)面場(chǎng)景用于判斷返回哪一個(gè)頁(yè)面的時(shí)候使用當(dāng)前頁(yè)上一個(gè)頁(yè)面封裝返回上一個(gè)頁(yè)面的方法封裝返回上一個(gè)頁(yè)面的方法判斷上一個(gè)頁(yè)面然后返回上一個(gè)頁(yè)面發(fā)布頁(yè)或者訂單頁(yè)上一個(gè)頁(yè)面調(diào)用方法如何返回上上個(gè)頁(yè)面返回上一
一 路由跳轉(zhuǎn)
需求:如何獲取當(dāng)前頁(yè)面的上一個(gè)頁(yè)面
場(chǎng)景:用于判斷返回哪一個(gè)頁(yè)面的時(shí)候使用
const pages = getCurrentPages(); const Page = pages[pages.length - 1];//當(dāng)前頁(yè) const prevPage = pages[pages.length - 2]; //上一個(gè)頁(yè)面
1. 封裝返回上一個(gè)頁(yè)面的方法
// 封裝返回上一個(gè)頁(yè)面的方法: export function navigateBackByPage() { // 判斷上一個(gè)頁(yè)面 然后返回上一個(gè)頁(yè)面: 發(fā)布頁(yè)或者訂單頁(yè) const pages = getCurrentPages(); const prevPage = pages[pages.length - 2]; //上一個(gè)頁(yè)面 if (prevPage) { wx.navigateBack(); } } // 調(diào)用方法 navigateBackByPage();
2. 如何返回上上個(gè)頁(yè)面
wx.navigateBack({ delta: 2 })
3. 返回上一頁(yè)的時(shí)候把當(dāng)前頁(yè)的數(shù)據(jù)傳遞會(huì)上一個(gè)頁(yè)面
const pages = getCurrentPages(); const prevPage = pages[pages.length - 2]; //上一個(gè)頁(yè)面 // 直接調(diào)用上一個(gè)頁(yè)面的setData()方法,把數(shù)據(jù)存到上一個(gè)頁(yè)面中去 prevPage.setData({ orderId: orderId }); wx.navigateBack();二 列表頁(yè)傳遞id獲取詳情頁(yè)數(shù)據(jù)
// 01 遍歷列表頁(yè) 獲取每一項(xiàng)item的id 綁定到data屬性中三 動(dòng)態(tài)設(shè)置頁(yè)面頂部導(dǎo)航欄標(biāo)題// 02 列表頁(yè) 通過(guò)事件和參數(shù)傳遞id toOrderDetail(e) { const id = e.currentTarget.dataset.id; wx.navigateTo({ url:"order-detail/order-detail?id=" + id }) } // 03 詳情頁(yè) 在onload中間中拿到URL傳遞過(guò)來(lái)的參數(shù)id 請(qǐng)求詳情頁(yè)接口 拼接id參數(shù) onLoad(option) { const id = option.id; const detailApi = "http://192.168.1.142:8096/app/FindOrder/findOrderById?orderId=" + id 發(fā)起請(qǐng)求··· } {{item.title}}
說(shuō)明
01 onload中不能設(shè)置,因?yàn)閛nload過(guò)程中頁(yè)面并沒(méi)有生成,所以不能操作UI,onShow渲染頁(yè)面只是一瞬間,也不能展示UI,js中操作UI和設(shè)置展示UI,只能用onReady,onLoad和onShow用來(lái)處理數(shù)據(jù)請(qǐng)求,處理業(yè)務(wù)邏輯 02 (重點(diǎn)思路)在onLoad獲取數(shù)據(jù),傳遞到data;onReady使用data中的數(shù)據(jù)渲染導(dǎo)航
// 01 數(shù)據(jù)初始化 data:{ navigationTitle:"" } // 02 在onLoad中獲取列表頁(yè)js傳遞過(guò)來(lái)的參數(shù): // 場(chǎng)景一:列表頁(yè)傳遞數(shù)據(jù)給詳情頁(yè) // 場(chǎng)景一:直接請(qǐng)求接口獲取數(shù)據(jù),如果情面有多種狀態(tài),通過(guò)不同狀態(tài)動(dòng)態(tài)設(shè)置導(dǎo)航 onLoad(option) { const title = option.title; this.setData({ navigationTitle:title }) } // 03 需要在onReady生命周期中設(shè)置導(dǎo)航條: onReady() { wx.setNavigationBarTitle({ title:this.data.navigetionTitle }) }四 跨頁(yè)全局傳遞數(shù)據(jù)的兩種方法
場(chǎng)景:實(shí)時(shí)數(shù)據(jù)傳遞
通過(guò)app.js中的全局變量globalData:{ },當(dāng)前頁(yè)的數(shù)據(jù)賦值給全局變量,另一個(gè)頁(yè)面實(shí)時(shí)獲取全局變量的值
// 頁(yè)面a app.globalData.workTypeId= workTypeId; // 頁(yè)面b const workTypeId= app.globalData.workTypeId
場(chǎng)景:從持久化數(shù)據(jù)中獲取數(shù)據(jù)
通過(guò)緩存來(lái)緩存數(shù)據(jù) 在任意頁(yè)面獲取
wx.setStorageSync("userInfoLogin", userInfoLogin); // 登陸后緩存用戶userId // 封裝獲取id的方法 export function getStorageUserId() { const userInfoLogin = wx.getStorageSync("userInfoLogin"); return userInfoLogin.id; } // 調(diào)用 const userId getStorageUserId()
持續(xù)更新中···
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/114217.html
摘要:一路由跳轉(zhuǎn)需求如何獲取當(dāng)前頁(yè)面的上一個(gè)頁(yè)面場(chǎng)景用于判斷返回哪一個(gè)頁(yè)面的時(shí)候使用當(dāng)前頁(yè)上一個(gè)頁(yè)面封裝返回上一個(gè)頁(yè)面的方法封裝返回上一個(gè)頁(yè)面的方法判斷上一個(gè)頁(yè)面然后返回上一個(gè)頁(yè)面發(fā)布頁(yè)或者訂單頁(yè)上一個(gè)頁(yè)面調(diào)用方法如何返回上上個(gè)頁(yè)面返回上一 一 路由跳轉(zhuǎn) 需求:如何獲取當(dāng)前頁(yè)面的上一個(gè)頁(yè)面場(chǎng)景:用于判斷返回哪一個(gè)頁(yè)面的時(shí)候使用 const pages = getCurrentPages();...
摘要:微信小程序應(yīng)用號(hào)開(kāi)發(fā)資源匯總文檔工具教程代碼插件組件文檔從搭建一個(gè)微信小程序開(kāi)始小程序開(kāi)發(fā)文檔小程序設(shè)計(jì)指南工具小程序開(kāi)發(fā)者工具官方支持微信小程序?qū)崟r(shí)預(yù)覽的支持的微信小程序組件化開(kāi)發(fā)框架轉(zhuǎn)在線工具小程序云端增強(qiáng)社區(qū)微信小程序 微信(小程序or應(yīng)用號(hào))開(kāi)發(fā)資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個(gè)微信小程序開(kāi)始 小程序開(kāi)發(fā)文檔 小程序設(shè)計(jì)指南 工具 小程序開(kāi)發(fā)者...
摘要:淺談秒殺系統(tǒng)架構(gòu)設(shè)計(jì)后端掘金秒殺是電子商務(wù)網(wǎng)站常見(jiàn)的一種營(yíng)銷手段。這兩個(gè)項(xiàng)目白話網(wǎng)站架構(gòu)演進(jìn)后端掘金這是白話系列的文章。 淺談秒殺系統(tǒng)架構(gòu)設(shè)計(jì) - 后端 - 掘金秒殺是電子商務(wù)網(wǎng)站常見(jiàn)的一種營(yíng)銷手段。 不要整個(gè)系統(tǒng)宕機(jī)。 即使系統(tǒng)故障,也不要將錯(cuò)誤數(shù)據(jù)展示出來(lái)。 盡量保持公平公正。 實(shí)現(xiàn)效果 秒殺開(kāi)始前,搶購(gòu)按鈕為活動(dòng)未開(kāi)始。 秒殺開(kāi)始時(shí),搶購(gòu)按鈕可以點(diǎn)擊下單。 秒殺結(jié)束后,按鈕按鈕變...
摘要:官方資料微信公眾平臺(tái)注冊(cè)小程序。官網(wǎng)開(kāi)發(fā)文檔社區(qū)開(kāi)發(fā)工具部署微信小程序微信小程序本身不需要部署,在微信開(kāi)發(fā)工具中直接上傳代碼就行。 為什么 學(xué)習(xí) Java 三年,目前已經(jīng)工作了2年,因?yàn)樽詫W(xué),基礎(chǔ)差,所以打算年末總結(jié)一下常見(jiàn)的基礎(chǔ)知識(shí)和面試點(diǎn); 也可以通過(guò)獨(dú)立做一個(gè)項(xiàng)目整合自己工作期間學(xué)習(xí)的知識(shí),加深印象。 但是想著回家或是平時(shí)手機(jī)用的多,做一款A(yù)PP和小程序很方便查看。 項(xiàng)目展示 本...
閱讀 3295·2021-11-25 09:43
閱讀 2097·2021-09-22 10:02
閱讀 3356·2021-09-06 15:00
閱讀 2308·2019-08-30 15:56
閱讀 2361·2019-08-30 15:54
閱讀 3237·2019-08-30 14:14
閱讀 2270·2019-08-29 17:25
閱讀 2913·2019-08-29 17:16