收藏
回答

tabBar不支持自定义事件

问题模块
API和组件


比如这里的tabBar我想点击后扫描二维码

目前是在扫码页面的js这样实现的:

scan() {

    wx.scanCode({

      success: function (res) {

        if (res.result) {

          wx.request({

            url: app.globalData.Api.doubanIsbn + res.result,

            method: 'GET',

            success: function (res) {

              onfire.on('scanisbn', (args) => {

                args.context.setData({

                  info: res.data

                })

              })

              wx.navigateTo({

                url: '../scanResult/scanResult'

              })

            },

            fail: function () {

              wx.showToast({

                title: '获取图书信息失败',

                icon: 'success',

                duration: 2000

              })

            }

          })

        }

      }

    })

  },

  onShow() {

    this.scan();

  },

  onReady() {

    this.scan();

  },

  onLoad(){

    // this.scan();

  }


这样的话实际上扫码会被调用两次。如果不自定义tab栏,有没有折衷的方法实现?

最后一次编辑于  2017-04-24  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 邓坤力
    邓坤力
    2017-04-27

    为什么 onShow 和 onReady 都调 scan ? 可以考虑使用标志位判断是否已调 scan。

    2017-04-27
    赞同
    回复