Vue-router中redirect属性的理解


vue-router API文档对routes.redirect属性的说明比较简洁,如下:

//RouteConfig 的类型定义:

interface RouteConfig = {
  path: string,
  component?: Component,
  name?: string, // 命名路由
  components?: { [name: string]: Component }, // 命名视图组件
  redirect?: string | Location | Function,
  props?: boolean | Object | Function,
  alias?: string | Array<string>,
  children?: Array<RouteConfig>, // 嵌套路由
  beforeEnter?: (to: Route, from: Route, next: Function) => void,
  meta?: any,

  // 2.6.0+
  caseSensitive?: boolean, // 匹配规则是否大小写敏感?(默认值:false)
  pathToRegexpOptions?: Object // 编译正则的选项
}

 

我对其中redirect路径的最终指向不是很明白,最后在查看vue-router的常用用例中(https://github.com/vuejs/vue-router/blob/dev/examples/redirect/app.js)找到了如下代码,截图如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

这里注释的意思是:

1、redirect不带 '/' 的: 路径相对于父级路由,最终重定向到的是同级路由foo(兄弟路由)。

2、带 '/' 的:路径是相对于服务器路由的,最终重定向地址为:服务器地址+'/bar'。

 

于是乎,我在本地写个一个demo测试,求证结果是对的!

 

其实这个知识点在几年前学习servlet相对路径时学习过,跟vue-router这个原理是一样的,只不过很久没用比较模糊了,在此记一下。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM