本篇文章給大家介紹一下微信小程序中頁面間值傳遞的2種方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
一:url帶參數傳遞
與前端語言一樣,小程序頁面間的傳遞可以通過在路由url后接參數,路由的同時會將參數一并傳遞到新的頁面。
index.wxml:
<!--index.wxml--> <view class="container"> <!-- 使用navigator組件 --> <navigator url="../demo/demo?title=參數傳遞">title=參數傳遞</navigator> </view>
demo.js
// pages/demo/demo.js Page({ data: { title:'' }, onLoad: function (options) { console.log(options) //打印options,可以看到title的值可以獲取到 this.setData({ title:options.title //為頁面中title賦值 }) }, })
demo.wxml
<!--pages/demo/demo.wxml--> <view class='container'> {{title}} </view>
效果圖:
二:將值存入全局變量
我們同樣可以將需要的值存入全局變量中,在需要的地方直接引用就好了。
app.js
//app.js App({ globalData: {} })
index.wxml
<!--index.wxml--> <!-- 點擊觸發goto_demo函數 --> <view class="container" bindtap='goto_demo'> title=參數傳遞 </view>
index.js
//index.js //獲取應用實例 const app = getApp() Page({ data: { title:'參數傳遞' }, goto_demo: function() { app.globalData.title = this.data.title wx.navigateTo({ url: '../demo/demo', }) } })
demo.js
// pages/demo/demo.js //獲取應用實例 const app = getApp() Page({ data: { title:'' }, onLoad: function (options) { console.log(app.globalData.title) //打印options,可以看到title的值可以獲取到 this.setData({ title: app.globalData.title //為頁面中title賦值 }) }, })
需要用到全局變量時記得要先獲取應用實例:const app = getApp()
效果圖同上。