开发中有时候我们虽然设置的路径不一致,但是我们希望跳转到同一个页面,或者说是打开同一个组件。这时候我们就用到了路由的重新定向redirect
参数。
redirect基本重定向
我们只要在路由配置文件中(/src/router/index.js)
把原来的component
换成redirect
参数就可以了。我们来看一个简单的配置。
export default new Router({ routes: [ { path: '/', component: Hello },{ path: '/params/:newsId(\\d+)/:newsTitle', component: Params },{ path: '/goback', redirect: '/' } ] })
这里我们设置了goback
路由,但是它并没有配置任何component
(组件),而是直接redirect
到path:'/'
下了,这就是一个简单的重新定向。
重定向时传递参数
我们已经学会了通过url
来传递参数,那我们重定向时如果也需要传递参数怎么办?其实vue也已经为我们设置好了,我们只需要在redirect
后边的参数里复制重定向路径的path
参数就可以了。可能你看的有点晕,我们来看一段代码:
{ path:'/params/:newsId(\\d+)/:newsTitle', component:Params },{ path:'/goParams/:newsId(\\d+)/:newsTitle', redirect:'/params/:newsId(\\d+)/:newsTitle' }
已经有了一个params
路由配置,我们再设置一个goParams
的路由重定向,并传递了参数。这时候我们的路由参数就可以传递给params.vue
组件了。参数接收方法和正常的路由接收方法一样。