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

发布于 7 年前作者 jietian6805 次浏览最后编辑 7 年前来自 ask

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

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

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

4 回复
gangfang
gangfang1 楼6 年前

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

if(!this.canNav){

    return

}

this.canNav = false

setTimeout(()=>{

    this.canNav = true

},1000)

leifang
leifang2 楼6 年前

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

xiuying22
xiuying223 楼6 年前

函数节流了解下

caojun
caojun4 楼5 年前

这有撒难的

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
            })
        }
    })