我对Angular 2.0非常新(谁不是!?!?!),我无法让我的路由工作!我不断收到错误'Component "LoginComponent" has no route config. in [['/Register'] in LoginComponent
'。组件没有路由配置。在组件中 - 角2路由错误
这是我@RouteConfig
和引导代码(证明我注入依赖关系)从我boot.ts
文件采取
bootstrap(LoginComponent, [
ROUTER_PROVIDERS, HTTP_PROVIDERS
]);
@RouteConfig([
{path: '/login', name: 'Login', component: LoginComponent, useAsDefault: true},
{path: '/register', name: 'Register', component: RegisterComponent}
])
这是我的LoginComponent代码...从我login.component.ts
文件
import {Component} from 'angular2/core';
import {FORM_DIRECTIVES, FormBuilder, ControlGroup, Validators} from 'angular2/common';
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from 'angular2/router';
import {Http, Headers, Response} from "angular2/http";
@Component({
selector: 'login',
templateUrl: 'app/login/login.component.html',
directives: [FORM_DIRECTIVES, ROUTER_DIRECTIVES]
})
export class LoginComponent {
loginForm:ControlGroup;
http: Http;
userNotFound: boolean;
constructor(fb:FormBuilder, http: Http) {
this.loginForm = fb.group({
'email': ['', Validators.required],
'password': ['', Validators.required]
});
this.http = http;
this.userNotFound = false;
}
login(event: Event, val:string):void {
// stuff happens here
}
forgotPassword() {
// stuff happens here
}
}
在我看来,我有一个链接到我的应用程序的不同部分。
例外:在浏览器中,我得到了以下错误从我login.component.html
文件采取
<a (click)="forgotPassword()">Forgot Password</a>
<br>
<a [routerLink]="['/Register']">Register</a>
<br>
<div class="error" *ngIf="userNotFound">
User not found. Please try again...
</div>
但是组件“LoginComponent”没有路线配置。在LoginComponent的[['Register'中] @ 23:19] 原文例外:组件“LoginComponent”没有路由配置。 ORIGINAL STACKTRACE: 错误:组件“LoginComponent”没有路由配置。
任何人都可以看到究竟是什么问题吗?默认的作品和一切都很好,直到我介绍<a [routerLink]="['/Register']">Register</a>
超链接。我一直在努力工作一段时间!
这里是我的项目结构(如果它帮助)...
其中是你的'',第二件事angular2期望从LoginComponent路由但无法找到。 –
你正在引导错误的组件。因此,当你编写'/ SomeComponent'(绝对路径)时,你的根组件是'LoginComponent',它将从没有RouteConfig的'LoginComponent'开始。 –
我有一个类似嵌套路由的问题。关于这个问题的解释有所帮助。 https://github.com/angular/angular/issues/8420 – theUtherSide