我对 Angular 2.0 很陌生(谁不是!?!?!),我无法让我的路由工作!我不断收到错误“ Component "LoginComponent" has no route config. in [['/Register'] in LoginComponent
”。
这是从我的文件中获取的我@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”没有路由配置。在 [['/Register'] 在 LoginComponent@23:19]
原始异常:组件“LoginComponent”没有路由配置。
原始堆栈跟踪:错误:组件“LoginComponent”没有路由配置。
谁能看到问题到底是什么?在我介绍超链接之前,默认设置有效,一切都很好<a [routerLink]="['/Register']">Register</a>
。我一直在努力解决这个问题!
这是我的项目结构(如果有帮助)...