一、微信小程序路由傳參方式
在微信小程序中,路由是指不同頁面之間的跳轉。而路由傳參則是指在不同頁面之間傳遞參數。微信小程序提供了兩種路由傳參方式:
- 通過url傳參:在跳轉小程序頁面時,將參數以key-value形式通過url傳遞。例如:
"/pages/detail/detail?a=1&b=2"
,則在跳轉到detail頁面後,可以通過options.a
和options.b
來獲取傳遞過來的參數。 - 通過API傳參:使用API
navigateTo
和redirectTo
時,可以通過query
參數來傳遞參數。例如:// 在跳轉到detail頁面時,將參數a和b傳遞過去 wx.navigateTo({ url: '/pages/detail/detail', query: { a: 1, b: 2 } });
二、小程序獲取路由參數
在小程序中獲取路由傳遞過來的參數有兩種方式:
- 在onLoad方法中獲取:在小程序頁面的
onLoad
生命周期函數中,可以通過options
獲取傳遞過來的參數。例如: - 通過getCurrentPages方法獲取:在小程序中,可以通過
getCurrentPages
方法獲取當前頁面棧。通過options
屬性即可獲取到傳遞過來的參數。例如:
// 在detail頁面獲取傳遞過來的參數 onLoad: function(options) { console.log(options.a) // 輸出 1 console.log(options.b) // 輸出 2 }
// 在detail頁面獲取傳遞過來的參數 var pages = getCurrentPages(); // 獲取頁面棧 var prevPage = pages[pages.length - 2]; // 獲取上一個頁面 var options = prevPage.options; // 獲取傳遞過來的參數 console.log(options.a) // 輸出 1 console.log(options.b) // 輸出 2
三、小程序路由傳值
小程序路由傳值是指在跳轉小程序頁面時,將參數傳遞到目標頁面。
小程序路由傳值的方式和獲取參數的方式類似,有兩種:
- 通過url傳值:在跳轉小程序頁面時,通過url的方式將參數傳遞到目標頁面。例如:
- 通過API傳值:使用API
navigateTo
和redirectTo
時,可以通過query
參數將參數傳遞到目標頁面。例如:
// 在index頁面跳轉到detail頁面,並將參數a和b傳遞到detail頁面 wx.navigateTo({ url: '/pages/detail/detail?a=1&b=2' });
// 在index頁面跳轉到detail頁面,並將參數a和b傳遞到detail頁面 wx.navigateTo({ url: '/pages/detail/detail', query: { a: 1, b: 2 } });
四、微信小程序跳轉時路由傳參選取
在小程序中,路由傳參可以帶來更好的用戶體驗。當用戶從頁面A跳轉到頁面B時,頁面B能夠獲取到從頁面A傳遞過來的參數,從而根據這些參數進行不同的操作。如何選擇路由傳參的方式,取決於用戶需求和場景。一般來說,如果需要傳遞的參數較少,則可以選擇使用url傳參;如果需要傳遞的參數比較多,或者需要傳遞一些複雜的數據類型,可以選擇使用API傳參。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/234102.html