页面(pages)说明

  • router/routes 文件是全部路由对象,以pages name值为key
  • 路由元素meta 下的属性说明:(只举例常用的属性)
路由配置文件pages.json 新增的每个路由,都需要在router/routes增加相应路由信息。

路由管理 跳转方法 尽可能的接近vue-router的一些功能


key 类型 默认值 说明
noLogin Boolean false 是否需要登录状态才能进入的路由,为true表示不需要登录 也能进入页面(商城大部分都是需要有登录状态才能进入的)
shareType String 分享类型
current:表示页面分享时为分享当前页面,其他情况表示分享时为首页或者自定义分享
(查看分享说明
addon String 应用名称,表示该路由是属于应用页面,需根据后台应用开启情况决定,默认为null,无应用;如果有应用名称,后台没开启该应用,则进去页面时显示未开启应用
(查看应用说明
"pages-mall-index": {
    path: "/pages/mall/index",
    name: "pages-mall-index",
    meta: {
      name: "pages-mall-index",
      pagePath: "pages/mall/index",
      addon: '',
      noLogin: true
    },
    title: "商城首页"
  },

跳转说明

  • 项目所有路由跳转建议使用 api/navigate.js 方法进行跳转,该方法进行了拦截是否登录状态以及处理一些业务逻辑,一般情况不建议直接使用uni.navigate。组件目录下相关组件跳转方法也是用封装好的$Navigate方法跳转;
  • navigate方法已处理好一些业务逻辑,如跳转tabbar页面 需用到pushTab,push也可以进行跳转tabbar;

调用方法

  • $Navigate 方法 已在入口文件main.js 赋值到vue,每个组件通过this.$Navigate 方法调用 路由跳转方法;
  • 非组件文件 可直接引入 api/navigate.js 调用其方法;

跳转方法(method):(等同于官方跳转方法)

  • $Navigate.push ==> uni.navigateTo
  • $Navigate.replace ==> uni.redirectTo
  • $Navigate.replaceAll ==> uni.reLaunch
  • $Navigate.pushTab ==> uni.switchTab
  • $Navigate.back ==> uni.navigateBack

跳转示例

  • 字符串跳转: $Navigate.push('/pages/router/router1')
  • 对象跳转: $Navigate.push({path:'/pages/router/router1'})
  • 带参跳转:
  • 1: $Navigate.push({path:'/pages/router/router1', query: { a: '1'}})
  • 2: $Navigate.push('/pages/router/router1?a=1&b=1')

跳转时的pages或者packages 必须带上