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