一、父页面向子页面传值
一、通过绑定事件跳转
1.vxml在你需要跳转的按钮或者图片中绑定bindtap的内容,data-是需要跳转的参数的,其中的id为你想要跳转的参数。{}中的为跳转后携带的值。
<view class="body_left">
<image src="/image/pause.png" bindtap="goPaly" data-id="{
{item.id}}"></image>
</view>
==data-表示此次绑定事件要传的参数==
2.js页面中通过固定语句语法e.currentTarget.dataset为语法,其中在后面加入你的跳转参数。然后通过微信的wx.navigateTo进行跳转。其中在URL的路径中问好前面的为你需要跳转的路径,后面的为跳转的参数以及携带的值
goPaly(e){
console.log('点击了',ids)
wx.navigateTo({
url: '/pages/palyMusic/palyMusic?id='+id+'&ids='+ids,
})
},
==1.wx.navigateTo 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。==
==2.wx.switchTab跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面==
3.跳转页面的接受数据js,通过页面的监听函数onLoad函数进行页面的接受。options来接受数据
onLoad: function (options) {
// 接受id
var id=options.i
this.setData({
id:id
})
},
二、通过标签直接跳转
<navigator url="/pages/index/index"></navigator>
二、子页面向父页面传值
==通过父页面跳转到子页面,由用户选择内容后将选择的内容携带传到父页面。==
xml在你需要跳转的按钮或者图片中绑定bindtap的内容,data-是需要跳转的参数的,其中的id为你想要跳转的参数。{}中的为跳转后携带的值。
1.父页面
<view bindtap="chooseTopic">{
{
topic}}</view>
js
data: {
topic:"请选择话题"
},
chooseTopic(){
wx.navigateTo({
url: '/pages/topic/topic',
})
},
2.子页面
html
<view class="content" wx:for="{
{topicList}}">
<view class="item" bindtap="chooseTopic" data-name="{
{item}}">
<view>{
{
item.title}}</view>
<view>{
{
item.count}}</view>
</view>
</view>
js
*/
data: {
topicList:[
{
title:'过年了',count:'100'},
{
title:'回家了',count:'200'}
]
},
chooseTopic(e){
var topiceInfo= e.currentTarget.dataset.name
//获取到当前的页面
var pages=getCurrentPages()
//获取到父页面
var prepages=pages[pages.length-2];
//1.直接修改父页面的值
prepages.setData({
topic:topiceInfo.title
})
// 2.通过方法体传值
prepages.setTopice(topiceInfo)
console.log(topiceInfo)
wx.navigateBack({
})
},
在这里插入图片描述
以上是本人的学习经验,希望可以帮助更多的人。