小程序navigateTo会被用户在同一时间点击多次,进入多次同一页面?
发布于 5 年前 作者 jietian 6642 次浏览 来自 问答

小程序navigateTo会被用户在同一时间点击多次,进入多次同一页面?

用户从页面A点击按钮进入页面B的过程中,使用

navigateTo,但是有时候由于A页面点击了没有马上跳转,导致用户点击多次,最终看到的现象是多次进入B页面。B页面需要关闭多次,这种情况该怎么处理?

4 回复

点A按钮,触发方法 navTo,navTo里调用 wx.navigateTo({url:B})。在navigateTo的前面加上

if(!this.canNav){

    return

}

this.canNav = false

setTimeout(()=>{

    this.canNav = true

},1000)

跳之前检测下当前页面栈是否有这个页了,有就 不要跳了,封装一个类似于这样的方法

函数节流了解下

这有撒难的

data:{band:false}
bindtap="{{band?'':'navTo'}}"
navTo:function(){
    var that=this
    this.setData({
        band:true
        })
    wx.navigateTo({
        url:'xx/xx/xx',
        complete:function(){
        that.setData({
            band:false
            })
        }
    })

        

回到顶部