Vue-router 第6节 vue-router的重定向-redirect

Vue-router 第6节 vue-router的重定向-redirect


目录

第6节 vue-router的重定向-redirect

开发中有时候我们虽然设置的路径不一致,但是我们希望跳转到同一个页面,或者说是打开同一个组件。这时候我们就用到了路由的重新定向redirect参数

redirect基本重定向

我们只要在路由配置文件中(/src/router/index.js)把原来的component换成redirect参数就可以了。我们来看一个简单的配置。

export default new Router({
  routes: [
    {
      path: '/',
      component: HelloWorld
    },{
      path:'/params/:newsId(\\d+)/:newsTitle',
      component:Params
    },{
      path:'/goHome',
      redirect:'/'
    }
  ]
})

相应的,App.vue页面只需添加:

<router-link to="/goHome">goHome</router-link>|

这里我们设置了gohome路由,但是它并没有配置任何component(组件),而是直接redirect到path:’/’下了,这就是一个简单的重新定向。这个时候能跳回到默认页面(我们的Home页面),但地址栏还是http://localhost:8080/#/,不会改变。

重定向时传递参数

我们已经学会了通过url来传递参数,那我们重定向时如果也需要传递参数怎么办?其实vue也已经为我们设置好了,我们只需要在redirect后边的参数里复制重定向路径的path参数就可以了。我们来看一段代码:

{
	path:'/params/:newsId(\\d+)/:newsTitle',
    component:Params
},{
	path:'/goParams/:newsId(\\d+)/:newsTitle',
    redirect:'/params/:newsId(\\d+)/:newsTitle'
}

相应的,在App.vue中添加:

<router-link to="/goParams">goParams</router-link>

已经有了一个params路由配置,我们在设置一个goParams的路由重定向,并传递了参数。这时候我们的路由参数就可以传递给params.vue组件了。参数接收方法和正常的路由接收方法一样。

点击goParams:

Vue-router 第6节 vue-router的重定向-redirect

我们发现参数能够进行重定向,地址栏也变化成params。
但如果什么都不传,只写<router-link to="/goParams">goParams</router-link>,页面没有任何内容,地址栏还是http://localhost:8080/#/goParams

上一篇:ruby-on-rails – 通过Nginx提供高流量视频


下一篇:网页授权获取用户基本信息---获取code码