首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AuthGuard和RedirectTo不适用于根路径

AuthGuard和RedirectTo不适用于根路径
EN

Stack Overflow用户
提问于 2020-04-26 00:58:36
回答 1查看 635关注 0票数 2

我正在开发一个角度应用程序,它具有以下URL路径

  • /(根)
  • /courses
  • /课程/创建
  • /课程/:id
  • /auth/登录

除了AuthGuard外,所有路线我都加了。如果未通过身份验证,AuthGuard将重定向到auth\login

app-routing.module.ts

代码语言:javascript
运行
AI代码解释
复制
export const Approutes: Routes = [
  {
    path: '',
    canActivate: [AuthGuard],
    component: FullComponent,
    loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule) // loading from pages-routing.ts
  },
  {
    path: 'auth',
    component: PlainComponent,
    children: [
      {
        path: '',
        pathMatch: 'full',
        redirectTo: 'login'
      },
      {
        path: 'login',
        component: LoginComponent
      }
    ]
  },
  {
    path: '**',
    redirectTo: ''
  }
];

pages-routing.ts

代码语言:javascript
运行
AI代码解释
复制
export const PagesRoutes: Routes = [
    {
        path: '',
        children: [
            {
                path: '',
                pathMatch: 'full',
                redirectTo: 'courses'
            },
            {
                path: 'courses',
                component: CourseMainPageComponent,
                data: {
                    title: 'My Courses'
                }
            },
            {
                path: 'courses/create',
                component: CourseCreatePageComponent,
                data: {
                    title: 'Create Course'
                }
            },
            {
                path: 'courses/:id',
                component: CourseShowPageComponent,
                data: {
                    title: 'Course Detail'
                }
            },
        ]
    }
];

问题

所有路线和authGuard工作正常。但是当我输入根URL \时,我需要重定向到\courses,但是它不起作用。 in root URL \ AuthGuard甚至没有将 me重定向到auth\login

注意:我没有得到任何运行时或编译错误。

EN

回答 1

Stack Overflow用户

发布于 2020-04-26 01:30:08

您需要在用于重定向的路由中将pathMatch策略更改为full。根据医生的说法,

路径匹配策略“完全”匹配整个URL。在重定向空路径路由时,这一点很重要。否则,由于空路径是任何URL的前缀,即使在导航到重定向目标时,路由器也会应用重定向,从而创建一个无穷无尽的循环。

您的路由配置现在将如下所示

代码语言:javascript
运行
AI代码解释
复制
export const PagesRoutes: Routes = [{
    path: '',
    children: [{
        path: '',
        redirectTo: 'courses',
        pathMatch: 'full'
    },
    // Add other routes here
    ]
}];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61438187

复制
相关文章
python获取项目根路径
假设你的项目为myProject,myProject下有个data文件夹,里面存放tran.csv文件, import os curPath = os.path.abspath(os.path.dirname(__file__)) rootPath = curPath[:curPath.find("myProject\\")+len("myProject\\")] # 获取myProject,也就是项目的根路径 dataPath = os.path.abspath(rootPath + 'data\\t
py3study
2020/01/06
3K0
解决mac根路径/只读问题
macOS Catalina 对根路径(/)设置了只读保护机制,以防止意外覆盖关键的操作系统文件。然而,作为开发人员,我们的程序不可避免会有操作 /xxx/xxx 文件的需求,最常见的如写日志,日志要输出到 /data/log/,因为路径不可执行写操作,无法创建对应的日志路径,会报日志文件不存在,尝试手动创建,会提示:Read-only file system。关于该问题,网上有很多文章,但大多无法直接帮助我们解决问题,在此做个记录,希望有所帮助。
liliane
2022/08/14
9.3K1
Angular2 之 路由与导航基础知识路由模块组件路由路由守卫
最开始的路由,我们是直接写在app.module.ts文件中的,像这样,我们可以实现简单的导航。
贺贺V5
2018/08/21
3.3K0
Docker 配置腾讯云镜像地址和 docker 根路径
我这里使用的是最新版本的 Docker(17.03.1),腾讯云提供了内部的 Docker 镜像地址,本人试过了,这个地址只有在腾讯云里面才可以访问到,如果大家想要注册一个云服务器的话,可以考虑腾讯云,最好是通过我提供的这个链接购买,能返一点佣金,对于您来说购买的价格是一样的。
前Thoughtworks-杨焱
2021/12/07
4.8K0
文件的相对路径和绝对路径以及根相对路径
  如果当前文档和目标文档所在的文件夹位置平行,则书写为:文件夹名称/目标文档全称;
阿豪聊干货
2018/08/09
2.8K0
Java中获取类加载路径和项目根路径的5种方法
https://www.cnblogs.com/franson-2016/p/6163422.html
XING辋
2019/03/26
6K0
spring boot 添加默认根路径跳转
同一组数据分组 需求:一个 list 里可能会有出现一个用户多条数据的情况。要把多条用户数据合并成一条。
潇洒
2023/10/20
1760
spring boot 添加默认根路径跳转
同一组数据分组 需求:一个 list 里可能会有出现一个用户多条数据的情况。要把多条用户数据合并成一条。
潇洒
2019/07/03
1.5K0
Angular 从入坑到挖坑 - 路由守卫连连看
Angular 入坑记录的笔记第六篇,介绍 Angular 路由模块中关于路由守卫的相关知识点,了解常用到的路由守卫接口,知道如何通过实现路由守卫接口来实现特定的功能需求,以及实现对于特性模块的惰性加载
程序员宇说
2020/06/04
3.8K0
PCA不适用于时间序列分析的案例研究
在大部份情况下我们都可以使用 PCA 进行线性降维。从图像处理到非结构化数据,无时无刻不在。我们甚至可以将它用于时间序列分析,虽然有更好的技术。在这篇文章中,我想向您介绍动态模式分解 (DMD),这是一种源自我的研究领域:流体动力学的用于高维时间序列的线性降维技术。DMD 结合了两个世界中的优点:PCA 和傅立叶变换。在数学上,它与动力系统理论中的一个基本算子有关,称为 Koopman 算子。但在深入研究 DMD 的数学之前,让我们用一个相当简单的例子来说明为什么 PCA 不是高维时间序列分析的最佳选择。
deephub
2021/07/23
1.6K0
PCA不适用于时间序列分析的案例研究
[Go] go run 时 os.Getwd 和 os.Executable 获取程序根路径
os.Getwd返回的是当前路径 os.Executable返回的是临时文件的绝对路径 package tools import ( "log" "os" "testing" ) func TestOs(t *testing.T) { log.Println(os.Getwd()) log.Println(os.Executable()) }
唯一Chat
2021/09/29
1.3K0
观察者模式observer不适用于_观察者模式代码
在软件构建过程中,我们需要为某些对象建立 一种“通知依赖关系” —-一个对象发(目标对象)的状态发生改变,所有依赖的对象(观察者对象)都将很好的得到通知。如果这样的依赖关系过于紧密。将使软件不能很好的抵御变化
全栈程序员站长
2022/09/22
6680
如何跳出小程序五级页面的限制
前言:做小程序开发,就要在微信的规则内玩耍。最近做的小程序经常会有个报错:RangeError: Maximum call stack size exceeded。这意思是说小程序页面超过5级跳转了,
连胜
2018/03/07
2K0
如何跳出小程序五级页面的限制
LeetCode 1080. 根到叶路径上的不足节点(递归)
给定一棵二叉树的根 root,请你考虑它所有 从根到叶的路径:从根到任何叶的路径。(所谓一个叶子节点,就是一个没有子节点的节点)
Michael阿明
2020/07/13
7250
LeetCode 1080. 根到叶路径上的不足节点(递归)
navigateTo、redirectTo、switchTap与reLaunch的区别
wx.navigateTo:保留当前页,跳转到指定页,非tabBar;使用 wx.navigateBack 可以返回到当前的页面。
星尘库
2023/05/01
7970
navigateTo、redirectTo、switchTap与reLaunch的区别
uni-app页面跳转的区别uni.navigateTo和uni.redirectTo
作者已经封装了更好用的XTools快去支持一下吧:XTools如何使用 有什么不明白可以联系QQ:1647161294 uni-app 页面跳转 主要有下面5个方法完成,分别如下: (1)uni.n
田小檬
2023/08/24
9840
【acm】【数论】阶和原根
阶 定义 设m > 1且(a, m) = 1,则使得 图片 定理 图片 推论 图片 原根 定义 图片 定理 图片 图片 推论 图片 原根的求法 图片 练手题 Primitive Roots POJ - 1284 原根 51Nod - 1135
duadua
2022/10/31
2400
【acm】【数论】阶和原根
根证书和中间证书的区别
让我们花几分钟时间讨论一下中间证书和根CA证书。SSL(或者更准确地说,TLS)是一项大多数终端用户知之甚少甚至一无所知的技术。即使是获取了SSL证书的人通常也只知道他们需要SSL证书,而且他们必须在服务器上安装SSL证书,才能通过HTTPS为网站提供服务。当提到中间证书和CAs、根证书和CAs时,大多数人的目光开始变得呆滞。
亚洲诚信SSL
2019/07/05
12.9K0
根证书和中间证书的区别
点击加载更多

相似问题

流星模板不适用于根路径

11

角路由redirectTo不适用于延迟加载

12

Vue路由-链接不适用于根'/‘路径

20

角404不适用于其他templateUrl或redirectTo。

10

用于IndexRoute的redirectTo

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档