vue路由安装和配置

129 阅读3分钟

安装:npm install vue-router --save

在模块化工程中使用

第一步:导入路由对象,并调用Vue.use。

第二部:创建路由实例,并传入路由映射配置。

第三步:在vue实例中挂载创建的路由实例

使用步骤:

1,创建路由组建。2配置路由映射。3使用路由:<router-link>,<router-view>

<router-link to='/home'>我的</router-link>他会被渲染成一个a标签,他还有其他属性

tag:<router-link to='/home' tag=‘button’>我的</router-link>改成button按钮

tag:可以指定<router-link>渲染成什么,如button,li

replace:不会留下histoty记录,就是回退键不会返回上一个网页。

active-class:当路由匹配成功时,会自动给当前元素设置router-link-actived的class,而active-class就是用来修改这个默认class的

<router-view>,根据路径渲染显示组件内容

配置路由映射

const routers = [

  {

    path:'/home'   //路径

    component:home  //对应组件

  }

]


设置默认显示网页用redirect重定向到home路径

const routers = [

  {

    path:'/'

    redirect:'/home'

  }

]

默认情况使用的时不刷新跳转用的是hash,想用history可以在创建router实例添加配置

mode:‘history’

路由懒加载:

主要作用时将路由对应的组件打包成一个个的js代码块,只有这个路由被访问到才加载对应的组件:const home = ()=>import('../components/home') 

路由的嵌套:

const home = ()=>import('../components/home') 

const news= ()=>import('../components/news') 

const routers = [

  {

    path:'/home' //路径

    component:home //对应组件

    children:[                       //子路由

      {

        path:'news'

        components:news

      }

    ]

  }

最后用<router-link to='/home/news'>新闻</router-link>和<router-view>在需要的页面添加渲染显示组件内容。默认路径配置不变

路由传递参数:

1通过params。2.通过query

全局导航守卫:

router.beforeEach((to,from,next)=>{  next()})前置守卫

每个守卫都有三个参数:

to:这是你要跳去的路由对象。

from:这是你要离开的路由对象。

next:是一个方法,它接受参数。这个方法必须调用要不就跳不过去了,你可以把它看做保安。必须给它打个招呼,要不然不让你过。

2 全局后置钩子 router.afterEach

钩子不会接受

next

函数也不会改变导航本身。这个可以看做保安的狗子,它不管你去哪里,也不会拦你,比较可爱。当然你也可以使用to和from对象。

3 路由独享守卫。beforeEnter

这个守卫是写在路由里面的,只有当进入这个路由时才会调用的,这些守卫与全局前置守卫的方法参数是一样的。

keep-alive:当跳转其他页面再回来时,都是重新创建渲染组件,如果不想重新渲染。

<keep-alive>  
   <router-view></router-view>
</keep-alive>

他有两个重要的属性:include---正则表达式,只有符合的才会被缓存

exclude:---正则表达式,只有符合的才不会被缓存