小程序 阻止后面页面滚动-回退传递参数

再开发小程序的时候出现了穿透的效果,采用的是微信小程序和vant,才采用van-popup存在穿透的问题,所以就得去解决问题。

微信开发程序和uniapp的弹窗遮罩层的穿透问题

可以在van-popup外面包裹一个view标签,然后采用微信小程序的方法绑定事件,事件绑定然后return出去,就可以实现对应的效果。
方法一

<view catchtouchmove="touchHandler">
</view>

touchHandler: function() {
return false;
},

方法二

  transpileDependencies: true,

可能这时你发现在测试机上还是存在这个问题,这时就需要我们继续去解决,最终在官方文档发现在真机下这个功能是没有问题的,但是在测试机上会存在这个问题,至此问题解决了

返回上一页传递参数

var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //获取上一个页面
prevPage.setData({ //修改上一个页面的变量
atlas_id: e.currentTarget.dataset.id
})
wx.navigateBack({ //返回上一页
delta: 1
})

第一步,在子页面点击上一步或者保存数据请求成功以后添加如下代码、

var pages = getCurrentPages();
 var prevPage = pages[pages.length - 2]; //上一个页面
  //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
 prevPage.setData({
      mydata: {
        id:1,
        b: 125
      }
    })
    wx.navigateBack({//返回
      delta: 1
    })

第二部,在父组件里的onshow生命周期里获取参数,对了,前提是需要你在data里建一个mydata对象,如果传过来的是字符串,mydata建立为字符串,就是对应一下会比较好

var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
let json = currPage.data.mydata;
console.log(json)//为传过来的值

在这里插入图片描述
在这里插入图片描述

Page({
    /**
     * 页面的初始数据
     */
    data: {},
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        var pages = getCurrentPages();
        // 上一页面栈
        var prevPage = pages[pages.length - 2]; 
        // 上一页面跳转携带的参数
        console.log(prevPage.options); 
        // 上一页面路由
        console.log(prevPage.route); 
        // 上以页面的Data数据
        console.log(prevPage.data); 
        // 调用上一页函数
        prevPage.changeName("aaa"); 
        // 修改上一页 data 的数据 
        prevPage.setData({
            name: 'aaa'
        })
    },
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值