angular - 直接 URL 路由工作正常,但不适用于域名

标签 angular typescript

我被要求以 Angular 方式创建一个网站,并在 URL 级别接受客户端的直接参数。

例如,销售代理将拥有类似 www.website.com/agent/2021 的网站并根据他的 ID(本例中为 2021)自定义网站。我通过在routing.module中设置它来使这项工作很好:

{ path: '', component: AgentComponent, pathMatch: 'full' },
{ path: '**', component: AgentComponent },

哪里

path: 'agent/:code', component: AgentComponent,

一切都很完美,除了我浏览 www.website.com 时除外直接,它显示一个空白页。这很好,因为 app.component.ts 处的代码首先运行。我在数据库中设置了代理 ID 1,因此当有人直接浏览 URL(无需路由)时,我可以路由到 www.website.com/agent/1但此时,我无法判断用户是否访问了直接 URL,或者包含路由的 URL(例如 www.website.com/agent/2021 )

是否有解决方案来检测客户端是否直接访问 URL ( www.website.com ),在这种情况下,重定向到 www.website.com/agent/1 ,或者如果客户来自直接路线 ( www.website.com/agent/2021 ),请让他保持在该路线上?

谢谢。

最佳答案

你把它颠倒过来了。

{ path: '**', redirectTo:'agent/1' }, 
{ path: '', component: AgentComponent }, 

关于angular - 直接 URL 路由工作正常,但不适用于域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66660191/

相关文章:

angular - 如何在 Angular 中正确实现 ngOnDestroy()?

Json 操作 TypeScript Angular 2

javascript - Angular 2 AOT 与 JIT 负载比较

javascript - 如何将一个 VS2013 项目中的通用 typescript 代码共享到一个单独的 VS2013 项目中

angular - Ionic 和 Firebase - InvalidPipeArgument : '[object Object]' for pipe 'AsyncPipe'

Angular:如何从 .t​​s 文件呈现 HTML?

javascript - 如何使用 Id 销毁 Canvas 并将新 Canvas 添加到相同的 id

javascript - 访问 console.log.bind() 的参数

reactjs - Typescript 和 React(使用 Gatsby 加载器): unable to import images as modules

typescript - 如何正确键入对象方法的包装函数?