收藏
回答

navigator标签跳转前是怎么实现每一个按钮都拦截的?

如果没登陆或者添加联系人,页面每一个navigator跳转都会被弹窗提示,有没有什么简便的方式统一拦截提示?

回答关注问题邀请回答
收藏

2 个回答

  • 拾柒
    拾柒
    2022-09-07

    不使用navigator标签,就用view标签循环,绑定点击事件,用wx.navigateTo 进行跳转,每次跳转前判断是否登录

    <view wx:for="{{list}}" data-url="{{item.url}}" bindtap="goview">{{nmae}}</view>
      goview(e) {
        var url = e.currentTarget.dataset.url
        if (isLogin) {
          wx.navigateTo({
            url: url
          })
        } else {
            //弹窗逻辑
        }
      }
    
    2022-09-07
    有用 2
    回复 5
    • L
      L
      2022-09-07
      这种方式我是考虑过的,但是首页图标太多  每个都绑定事件的话感觉太繁杂了,想找个通用拦截方式
      2022-09-07
      回复
    • 拾柒
      拾柒
      2022-09-07回复L
      哪里复杂了,这里就只写了一个标签啊,你使用navigator标签都无发进行判断
      2022-09-07
      回复
    • L
      L
      2022-09-07
      你提供的方法确实适合遍历渲染的图标,但是我的页面的结构不一样,按钮基本都是分离的,上面提供的图片只是借鉴,不是我的项目
      2022-09-07
      回复
    • 拾柒
      拾柒
      2022-09-07回复L
      我只是给你一个demo给你借鉴  具体怎样像你说的,我又不了解,按钮分离又不影响,直接绑定data-url 和goview 就行了啊,都在这一个方法里实现
      2022-09-07
      回复
    • L
      L
      2022-09-07
      明白了,谢谢大佬
      2022-09-07
      回复
  • Frank
    Frank
    2022-09-07

    别用标签了呗,用wx.navigateTo呗

    2022-09-07
    有用
    回复 2
    • L
      L
      2022-09-07
      需要拦截的太多了,每个都绑定事件是不是太繁杂
      2022-09-07
      回复
    • Frank
      Frank
      2022-09-07回复L
      根据你的需求,只能过api的方式来实现了
      2022-09-07
      回复
登录 后发表内容