Angular 在9中显示基于默认地址路由的组件
我正在尝试在加载我的应用程序时将其中一个组件显示为默认组件:Angular 在9中显示基于默认地址路由的组件,angular,angular-routing,angular9,Angular,Angular Routing,Angular9,我正在尝试在加载我的应用程序时将其中一个组件显示为默认组件: <!--I want to show this one--> <app-ms-power-automate *ngIf="router == '/ms-power-automate'"></app-ms-power-automate> <app-uipath *ngIf="router == '/uipath'"></app-uipath&g
<!--I want to show this one-->
<app-ms-power-automate *ngIf="router == '/ms-power-automate'"></app-ms-power-automate>
<app-uipath *ngIf="router == '/uipath'"></app-uipath>
我试过这个:
<app-ms-power-automate *ngIf="router == '/ms-power-automate' || router == '/'"></app-ms-power-automate>
或者这个:
<app-ms-power-automate *ngIf="router == '/ms-power-automate' || router == ''"></app-ms-power-automate>
他们一直在给我看一个空的视图。知道我做错了什么吗?我找到了问题的解决方案,我在
app routing.module.ts
中定义了默认路径,如下所示:
{ path: '**', component: MsPowerAutomateComponent }
它正在使用通配符,更多信息:
此外,我还需要添加哈希策略:
RouterModule.forRoot(routes, { useHash: true })
避免404错误。此处提供的信息:
我找到了问题的解决方案,我在
app routing.module.ts
中定义了默认路径,如下所示:
{ path: '**', component: MsPowerAutomateComponent }
它正在使用通配符,更多信息:
此外,我还需要添加哈希策略:
RouterModule.forRoot(routes, { useHash: true })
避免404错误。此处提供的信息:
在不知道任何事情的情况下,我会说你的
*ngIf
都解析为false
。你可以在typescript中使用==
,这对控制台也很有用。记录你的路由器变量,看看它包含什么内容@mikegross,在所有情况下它都会打印出来/然后你必须处理这部分。在使用ActivateRoute时使用ActiveDrote可能会起作用,Angular的最佳实践是添加一个路由模块:在不知道任何情况下,我会说您的*ngIf
都解析为false
。您也可以在typescript中使用==
,在console.log中记录路由器变量以查看它包含的内容是什么是@mikegross,在所有情况下它都会打印/然后您必须处理这部分。使用ActiveDurote虽然使用ActivateRoute可能有效,但Angular中的最佳实践是添加路由模块: