Angular 错误:无法匹配任何路由。URL段:';主页';
我想在单击“登录”按钮后转到主页,但我不断收到错误:Angular 错误:无法匹配任何路由。URL段:';主页';,angular,angular-router,Angular,Angular Router,我想在单击“登录”按钮后转到主页,但我不断收到错误: 错误:无法匹配任何路由。URL段:“主页” 以下是我的路线: { path: 'homePage', component: HomePageComponent, outlet:'homePage' }, { path: 'login', component:LoginComponent }, { path: '', redirectTo: '/login', pathMatch: 'full' }
错误:无法匹配任何路由。URL段:“主页”
以下是我的路线:
{
path: 'homePage',
component: HomePageComponent,
outlet:'homePage'
},
{
path: 'login',
component:LoginComponent
},
{
path: '',
redirectTo: '/login',
pathMatch: 'full'
}
这是要单击的按钮:
<button routerLink="homePage" id="login" md-button>Log in</button>
<router-outlet name="homePage"></router-outlet>
登录
尝试更改
<button routerLink="homePage">
到
您必须告诉路由器在您指定的插座内布线,如下所示:
<button [routerLink]="[{ outlets:{ homePage: ['homePage']} }]">
Edit
</button>
对于路由器链路,只需使用
<button routerLink="/homePage></button>
尝试使用name outlet方法[routerLink]=“[{outlets:{homePage:['homePage']}]好的,现在它会显示主页,但登录表单不会消失。确定,因为您的登录
路由是默认路由(您正在重定向到它)。你确定要使用命名的路由器出口吗?对我来说,听起来你只是想要一个未命名的路由器出口。@annie因为你为主页创建了新的路由器出口,所以它一直存在。在你的情况下,你的app.component.html中应该只有一个路由器出口。所以这个答案是正确的,但你想实现其他目标。你应该了解路由和命名出口是如何工作的。好吧,我不再使用命名出口,但登录表单仍然不会消失。你的应用程序根组件应该是某种应用程序组件,因为你的登录只是一个组件,它显示在特定的路由上,而不是所有时间。因此你必须更改你的应用程序结构以获得某种类型的应用程序组件,如根,其模板中有一个
。
<router-outlet></router-outlet>
{
path: 'homePage',
component: HomePageComponent
}
<button routerLink="/homePage></button>