目前,我在我的项目中设置了路由.每个新用户都被重定向到:
localhost:4200/default-path/login
一旦用户登录,它们就会被重定向到主模块,主模块有一些用户可以导航到的子路由.
localhost:4200/default-path/home
localhost:4200/default-path/home/account
localhost:4200/default-path/home/account/profile
localhost:4200/default-path/home/dashboard
… 等等.
现在,粗体部分已在主页模块中设置,无需进一步编辑.但是,我想将default-path更改为其他内容.
比如说,每个用户都可以属于三个项目之一:项目蓝色,红色或绿色.只有在用户提交凭据并点击登录按钮后,才能使用此信息.
登录后我想要的路线是:
localhost:4200/project-blue/home
localhost:4200/project-red/home
localhost:4200/project-green/home
请记住,粗体部分不是具有不同关联组件的不同模块,它们只是我想在URL中看到的常量.
目前,我的< base>索引中的标记类似于< base href ='/'>我正在尝试编辑此属性.我得到的是:
processLoginSuccess(loginTicket): void { const routeName = loginTicket.baseUrl // returns 'project-red' let b = document.getElementsByTagName('base')[0] b.setAttribute('href',routeName ) this._router.navigate(['/home']); }
但这似乎不起作用.
有任何想法吗?
解决方法
您可以通过为自定义操作提供APP_BASE_HREF来以编程方式设置基本URL,而不是设置基本元素的href值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。