微信小程序根页面(加载的第一个页面)

2018-06-25  本文已影响2697人  姬歌

初学微信小程序,搞了半天完全不知道根页面是怎么加载进去的!
我们的app是先进入一个登录页面login,登录成功后进入tabbar,显示tabbar第一个item:mineProject。
app.js文件中,只有一个onLaunch方法,里面完全没有设置根页面的方法,但却可以显示出login页面!
再看app.json,

{
  "pages": [
    "pages/login/login",
    "pages/mineProject/mineProject",
    "pages/personCenter/personCenter"
  ],
"tabBar": {
    "selectedColor": "#f9614a",
    "list": [
      {
        "pagePath": "pages/mineProject/mineProject",
        "text": "我的项目",
        "iconPath": "img/icon_aite_gray.png",
        "selectedIconPath": "img/icon_aite_orange.png"
      },
      {
        "pagePath": "pages/personCenter/personCenter",
        "text": "个人中心",
        "iconPath": "img/icon_personal_gray.png",
        "selectedIconPath": "img/icon_personal_orange.png"
      }
    ]
  }
}

看完一脸懵逼啊,这里面通过"pages"属性定义了3个页面,登录(login)、我的项目(mineProject)、个人中心(personCenter);还有就是tabBar属性,包含了我的项目、个人中心。但是还是TM的没有设置根(login)页面啊!!!
原来,"pages"属性第一个页面就是根页面!!!WTF!!我也没看到哪个文档有相关说明!如果切换mineProject到第一个位置,则app加载后,第一个显示的页面是mineProject,且其包含在tabBar之内!而不是单独一个mineProject页面!
我记得xml项目都需要配置一个index起始页的,这种做法我真猜不到,太坑人了!好歹你在官网给个说明啊!曰!

解决了 根页面的问题,就是从login切换到tabBar的问题,又是一个坑逼!
代码是这样写的:

afterLoginSuccess: function (res) {
    ...
    wx.switchTab({
      url: '../personCenter/personCenter',
    })
  }

这样就完成了切换。。。按照iOS的逻辑我实在是猜不到啊,你这里仅仅是切换了tabBar的index啊,怎么就把login给移除了呢?哎,这些??逻辑没详细说明真是坑。。。(虽然你实现了)

上一篇下一篇

猜你喜欢

热点阅读