第一种:全局传值
// 步骤一:在全局app.js文件中定义数据
App({
globalData: {
userInfo: null,
userName: '全局变量传值',
}
})
// 步骤二:获取应用实例,不然无法调用全局变量
const app = getApp()
// 步骤三:调用全局变量
Page({
data: {
},
onLoad: function (options) {
console.log(app.globalData.userName);
},
})
第二种:url传值
// 步骤一:使用关键字bindtap绑定一个点击事件方法,data-index是传入一个值
<image class="btn-detail" src='/images/btn_detail.png' bindtap='toDetail' data-index='{{index}}'></image>
// 步骤二:在脚本文件中定义这个方法(方法并不是定义在一个methods集合中的)
Page({
data: {},
onLoad: function () {},
toDetail: function(e){
// index代表的遍历对象的下标
var index = e.currentTarget.dataset.index;
var proList = this.data.proList;
var title = proList[index].proName;
wx.navigateTo({
url: '/pages/detail/detail?title='+title,
})
}
})
// 步骤三:在detail组件的脚本文件中接收title这个传入过来的值
Page({
data: {},
onLoad: function (options) {
console.log(options.title);
},
})
第三种:Storage传值
// 步骤一:使用关键字bindtap绑定一个点击事件方法,data-index是传入一个值
<image class="btn-detail" src='/images/btn_detail.png' bindtap='toDetail' data-index='{{index}}'></image>
// 步骤二:在脚本文件中定义这个方法(方法并不是定义在一个methods集合中的)
Page({
data: {},
onLoad: function () {},
toDetail: function(e){
var index = e.currentTarget.dataset.index;
var proList = this.data.proList;
var title = proList[index].proName;
wx.setStorageSync('titleName', title);
wx.navigateTo({
url: '/pages/detail/detail',
})
}
})
// 步骤三:在detail组件的脚本文件中使用wx.getStorageSync接收titleName这个传入过来的值
Page({
data: {},
onLoad: function (options) {
var titlen = wx.getStorageSync('titleName');
console.log(titlen);
},
})