一、URL传值
- list.wxml:
<view class="playIcon"
wx:for="{{list}}"
id="{{item.id}}"
wx:key="item.id"
data-phone="{{item.phone}}"
bindtap="clickRow">
</view>
- list.js:
clickRow: function (e) {
let phoneNum = e.currentTarget.dataset.phone;
let id=e.currentTarget.id;
wx.navigateTo({
url: '/pages/list/listDetail?id=' + id,
})
}
listDetail.js:
onLoad: function (options) {
this.setData({
id: options.id
})
}
总结:
1、wx.navigateTo:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。(可带参)
2、wx.redirectTo:关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。(可带参)
3、wx.switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面(不可带参)
4、wx.reLaunch:关闭所有页面,打开到应用内的某个页面(可带参)
5、wx.navigateBack :关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。(没有url属性,不可带参)二、全局变量
A页面
var app = getApp();
app.rowData = row;
B页面
var app = getApp();
var row = app.rowData;
三、本地存储
A页面
wx.setStorage({
key: 'rowData',
data: row,
})
B页面
var that = this;
wx.getStorage({
key: 'rowData',
success: function (res) {
that.setData({
rowData: res.data
});
},
})
四、页面对象传值
利用getCurrentPages获取上一级页面对象,调用setData方法进行传值 ```javascript let pages = getCurrentPages(); let prev = pages[pages.length - 2];
五、组件传值
利用父组件和子组件之间进行传值