## 一 Router定义
> Router配置写在模块下的router - index.js文件下,并按照如下格式进行书写
>
````
export default {
// 首页
Home: {
type: 'switchTab'
},
// 登陆页面
Login: {
query: {
a: 1
}
},
// RouterInfo
[routerName]: {
type,
query,
include
}
}
````
>模块页面结构
```
├─ ModularA // 模块A目录
│ ├─ api ─ index.js // 该模块的api接口配置
│ ├─ page // 该模块的页面目录
│ │ ├─ PageA // 模块A下的页面A
│ │ │ ├─ components // 该页面的组件目录
│ │ │ ├─ PageE.vue // 定义的页面(需在该模块下的页面路由配置)
│ │ │ └─ PageA.vue // 定义的页面
│ │ └─ PageB // 模块A下的页面B
│ │ ├─ components // 该页面的组件目录
│ │ └─ PageB.vue // 定义的页面
│ ├─ router ─ index.js // 模块下的页面路由配置
```
> ### RouterInfo Props
参数|说明|类型|可选值|必填|默认
:---:|:---:|:---:|:---:|:---:|:---:
routerName|页面定义名称|String|-|是|-
type|打开类型|String|switchTab / reLaunch / redirectTo / navigateTo / navigateBack|否|navigateTo
query|页面默认参数|Object|-|否|{}
include|页面所在的目录名|String|-|否|-
### Tips
- 在RouterInfo不需要定义type和query时请写一个空对象进去,如:`Setup: {}`
## 二 调用
### nav
页面间跳转都调用 `this.$nav({routeName},{query},{options})`
| 字段 | 类型 | 说明 |
| :---: | :---: | --- |
| routeName | String | 路由名称,由{模块名称}.{路由名称} 例:`Common.Index` |
| query | Object | 页面传参对象 |
| options.openType | Object | 跳转类型,默认是 `navigateTo`,可选参数有 switchTab / reLaunch / redirectTo / navigateTo