diff --git a/docs/vue.md b/docs/vue.md
index dc12fba..400e141 100644
--- a/docs/vue.md
+++ b/docs/vue.md
@@ -721,6 +721,358 @@ const value = inject(ProvideKey)
+## 路由
+
+### 1.路由的基本使用
+
+1.开启命名空间后,组件中读取state数据:
+
+```javascript
+//方式一:自己直接读取
+this.$store.state.personAbout.list
+
+//方式二:借助mapState读取:
+...mapState('countAbout',['sum','school','subject']),
+```
+
+2.开启命名空间后,组件中读取getters数据:
+
+```javascript
+//方式一:自己直接读取
+this.$store.getters['personAbout/firstPersonName']
+//方式二:借助mapGetters读取:
+...mapGetters('countAbout',['bigSum'])
+```
+
+3.开启命名空间后,组件中调用dispatch
+
+```javascript
+//方式一:自己直接dispatch
+this.$store.dispatch('personAbout/addPersonWang',person)
+//方式二:借助mapActions:
+...mapActions('countAbout',{incrementOdd:'jia0dd',incrementWait:'jiaWait'})
+```
+
+4.开启命名空间后,组件中调用commit
+
+```javascript
+//方式一:自己直接commit
+this.$store.commit('personAbout/ADD_PERSON',person)
+//方式二:借助mapMutations:
+...mapMutations('countAbout',{increment:'JIA',decrement:'JIAN'}),
+```
+
+### 2.路由的使用
+
+```javascript
+import VueRouter from 'vue-router'
+//引入Luyou 组件
+import About from '../components/About'
+import Home from '../components/Home'
+//创建router实例对象,去管理一组一组的路由规则
+const router = new VueRouter({
+ routes:[
+ path:'/about',
+ component:About
+ path:'/home',
+ component:Home
+})
+//暴露router
+export default router
+```
+
+4.实现切换(active-class可配置高亮样式)
+
+\About\
+
+5.指定展示位置
+
+\\
+
+>几个注意点
+>
+>1.路由组件通常存放在pages文件夹,一般组件通常存放在components文件夹。
+>
+>2.通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载。
+>
+>3.每个组件都有自己的$route属性,里面存储着自己的路由信息。
+>
+>4.整个应用只有一个router,可以通过组件的srouter 属性获取到。
+
+### 3.路由的query
+
+```html
+
+
+
+
+
+
+ -
+ {{item.mes}}
+
+
+
+
+
+
+
+
+
+
+```
+
+> 接收参数 `{{$route.query.id}}`
+
+### 4.命名路由
+
+```javascript
+ routes:[
+ {
+ path:'/about',
+ component:AboutBody
+ },
+ {
+ path:'/home',
+ component:HomeBody,
+ children:[
+ {
+ path:'news',
+ component:HomeChild
+ },
+ {
+ path:'message',
+ component:HomeChild1,
+ //多级路由
+ children:[
+ {
+ name:'richu',
+ path:'mes',
+ component:HomeMessage
+ }
+ ]
+ }
+ ]
+ }
+ ]
+
+```
+
+> 使用
+>
+> :to="{
+> name:'',
+> path:'/home/message/mes',
+>
+> query:{id:item.id,
+>
+> title:item.mes
+>
+> }
+>
+> }"
+
+### 5.params参数的使用
+
+1.声明接收
+
+```javascript
+children:[
+ {
+ name:'richu',
+ path:'mes/:id/:title',
+ component:HomeMessage
+ }
+]
+```
+
+2.传递
+
+```html
+
+ {{item.mes}}
+
+
+```
+
+3.接收
+
+```html
+编号{{$route.params.id}}
+标题{{$route.params.title}}
+```
+
+### 6.props的使用
+
+```javascript
+7.路由的props配置
+作用:让路由组件更方便的收到参数
+name:'xiangqing',path:'detail/:id',component:Detail,
+//第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detai1组件
+// props:{a:900]
+//第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给Detai1组件
+// props:true
+//第三种写法:props值为函数,该函数返回的对象中每一组key-value都会通过props传给Detail组件
+props(route){
+return {
+id:route.query.id,
+title:route.query.title
+```
+
+> \的replace属性
+>
+> 1.作用:控制路由跳转时操作浏览器历史记录的模式
+>
+> 2.浏览器的历史记录有两种写入方式:分别为 push和replace,默认为push
+>
+> 3.如何开启replace 模式:
+>
+> push是追加历史记录,
+>
+> replace 是替换当前记录[路由跳转时候\News\]
+
+### 7.编程式路由导航
+
+1.作用:不借助router-link实现路由跳转,让跳转更加灵活
+2.具体编码:
+
+```javascript
+//$router的两个API
+this.$router.push({
+ name:'xiangqing',
+ params:{
+ id:xxx,
+ title:xxx
+ //实现路由跳转,让路由跳转更加灵活
+ }
+})
+this.$router.replace({
+ name:'xiangqing',
+ params:{
+ id:xxx,
+ title:xxx
+ }
+})
+this.$router.forward();
+this.$router.back();
+this.$router.go(3);
+```
+
+### 8.缓存路由组件
+
+> 让不展示的路由组件保持挂载,不被销毁
+
+> 具体编码
+
+```html
+
+
+
+```
+
+> include里面写模块名,用于保存指定的模块
+
+### 9.新生命周期钩子
+
+> 作用:路由组件独有的,用于捕获路由组件的激活状态
+
+activated 路由组件被激活时触发
+
+deactivated 路由组件失活时触发
+
+## 路由守卫
+
+#### 1.前置路由守卫
+
+```javascript
+/* 前置路由 */
+route.beforeEach((from,to,next)=>{
+ if (to.meta.isAuth){
+ alert("1");
+ next();
+ }else{
+ next();
+ }
+})
+```
+
+#### 2.后置路由守卫
+
+```javascript
+/* 后置路由 */
+route.afterEach((from,to)=>{
+ console.log(to);
+ document.title=from.meta.title;
+})
+```
+
+#### 3.独享路由守卫
+
+```javascript
+{
+ path:'news',
+ component:HomeChild,
+ meta:{title:"新闻"},
+ beforeEnter: (from,to,next)=>{
+
+ }
+},
+```
+
+> 独享路由守卫只有前置路由守卫没有后置路由守卫
+
+#### 4.组件内路由守卫
+
+```javascript
+/* 通过路由规则,进入该组件时被调用 */
+beforeRouteEnter (to, from, next) {
+ // ...
+},
+/* 通过路由规则,离开组件时被调用 */
+beforeRouteLeave (to, from, next) {
+ // ...
+}
+```
+
+
Vue 中使用 TypeScript
---