zoukankan      html  css  js  c++  java
  • 微信小程序wx.switchTab

    【转】关于微信小程序wx.switchTab的问题

    昨天做了个功能要从首页跳到tabBar页,并且要带上参数.首先我是这样做的:

    在index.js中:

    toCategory:function(event){
        var cate_id = event.currentTarget.dataset.cate_id;
        wx.switchTab({
          url: '../category/category?cate_id='+cate_id,
        });
      },

    按照上面写的在category.js里得不到数据;

    onLoad:function(options){

    console.log(options);

    }

    然后查看了下官方文档.

    wx.switchTab(OBJECT)

    跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

    OBJECT 参数说明:

    参数类型必填说明
    url String 需要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数
    success Function 接口调用成功的回调函数
    fail Function 接口调用失败的回调函数
    complete Function 接口调用结束的回调函数(调用成功、失败都会执行)
    可以看到url路径后不能带参数.这下就尴尬了.因为我必须要带一个参数过去才能满足业务的需求;走了一个捷径.思路:跳转的时候在全局变量里设置一个变量cate_id,调到category.js中后.调取全局变量里的cate_id,用完后,再把扎个变量清除掉.具体实施如下:

    首页index.js中:

    toCategory:function(event){
        var cate_id = event.currentTarget.dataset.cate_id;
        app.globalData.cate_id=cate_id;//设置全局变量(app已经定义 var app=getApp())
        wx.switchTab({
          url: '../category/category'
        });
      },

    分类页category.js中:

    onLoad:function(options){
        var that = this
        var cate_id=app.globalData.cate_id
        wx.request({
          url: app.globalData.httpsurl +'public/index.php?s=product/index',
          data:{
            cate_id:cate_id,
          },
          success:function(res){
            //清除全局变量cate_id
            app.globalData.cate_id=""
            that.setData({
              alldata:res.data,
            })
          }
        })
      },

    上面的转化就可以完成业务逻辑的需要了.

    孜孜不倦,必能求索;风尘仆仆,终有归途。
  • 相关阅读:
    灵魂拷问!浏览器输入「xxxxhub」的背后.....
    趣谈 DHCP 协议,有点意思。
    规约模式,颤抖吧产品经理!再也不怕你乱改需求了
    订阅者模式,公众号、B站、快手用了都说好!
    设计模式,你相信吗,只用两个函数实现事务!
    Linux系统中安装Jenkins
    Linux系统在线安装和查看git版本
    VIM中的保存和退出命令
    @JsonProperty爆红
    手动运行jar包
  • 原文地址:https://www.cnblogs.com/liyuspace/p/8257722.html
Copyright © 2011-2022 走看看