页面(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 必须带上