微信小程序 页面跳转及数据传递详解
类似 Android 的 Intent 传值,微信小程序也一样可以传值:
例如:wxml 中写了一个函数跳转:
<view catchtap="jumpToOverMissionList"> <view>已完成任务</view> <view>{{finishedMissionCount}}</view> </view>
在 js 代码中写:其中,url 是跳转的相对路径,?问号后面加的是参数,以 key-value 的方式,
这里传了个 value 为 2 的参数过去
//跳转到已结束任务列表页 jumpToOverMissionList:function(){ wx.navigateTo({ url:"mission/missionList/missionList?type=2" }); },
然后在 missionList.js 中的 OnLoad()方法得到值:option.type 就可以得到了
onLoad: function(option) { this.setData({ type:option.type, }); console.log(option.type); }
页面跳转
今天尝试了下小程序点击页面跳转,有两种方式:navigator 组件跳转和添加点击事件跳转。
navigator 组件跳转
和 a 标签跳转差不多,给 navigator 添加要跳转到的 url 地址即可(这里需要注意下,我们在使用微信 web 开发者工具按 enter 自动补全时生成的组件有错,navigator 闭合标签的“/” 位置应该是在 navigator 前,而自动生成的是<navigator/>,导致编译报错,同样的还有 image 组件等)
<span> <navigator url="../logs/logs">点击跳转到 logs 页面</navigator> </span>
为组件绑定跳转事件
index.wxml 中为 image 绑定事件
<span> <image src="https://www.jb51.net/{{item.imgsrc}}" bindtap="tz"></image> </span>
index.js 文件中添加跳转方法:
<span>tz: function(){ wx.navigateTo({ url: '../logs/logs', success: function(res){ // success }, fail: function() { // fail }, complete: function() { // complete } }) }</span>