【发布时间】:2016-10-08 04:26:44
【问题描述】:
我的组件出现了,但在页面加载时我收到一条错误消息。看了一堆资源,好像根本解决不了这个错误信息。
错误
EXCEPTION: Error: Uncaught (in promise): Cannot match any routes. Current segment: 'index.html'. Available routes: ['/login'].
main.component.ts 在 index.html 中,一旦页面加载,它就会显示上述错误消息。
import { Component } from '@angular/core';
import { Routes, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router';
import { LoginComponent } from './login/login.component';
@Component({
selector: 'main-component',
template:
' <header>
<h1>Budget Calculator</h1>
<a id='login' [routerLink]="['/login']">Login</a>
<router-outlet></router-outlet>
</header> '
directives: [ROUTER_DIRECTIVES],
providers: [ROUTER_PROVIDERS]
})
@Routes([
{path: '/login', component: LoginComponent}
])
export class MainComponent {}
login.component.ts 通过 main.component.ts 路由,并在我单击链接时显示,尽管出现错误消息。现在,我将其样式设置为弹出 main.component 中的其他元素,但希望它成为页面上唯一显示的组件。如果可能的话,基本上用 login.component 替换 index.html 中的 main.component,而不是做一大堆样式来显示:none。
import { Component } from '@angular/core';
@Component({
selector: 'login',
template:
' <div id="login-pop-up">
<h6 class="header_title">Login</h6>
<div class="login-body">
Some fancy login stuff goes here
</div>
</div> '
})
export class LoginComponent {}
【问题讨论】:
-
首先要检查的是是否有一个为相关路线指定的路线。