一、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];
五、组件传值
利用父组件和子组件之间进行传值
