Я очень новичок в Angular 2.0 (кто не!?!?!), и я не могу заставить свою маршрутизацию работать! Я продолжаю получать ошибку «Component "LoginComponent" has no route config. in [['/Register'] in LoginComponent
».Компонент не имеет конфигурации маршрута. in Component - Angular 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» не имеет никакого маршрута конф. в [['/ Register'] в LoginComponent @ 23: 19] ОРИГИНАЛЬНОЕ ИСКЛЮЧЕНИЕ: Компонент «LoginComponent» не имеет конфигурации маршрута. ORIGINAL STACKTRACE: Ошибка: компонент «LoginComponent» не имеет конфигурации маршрута.
Может ли кто-нибудь увидеть, в чем проблема? По умолчанию работает, и все в порядке, пока я не представим гиперссылку <a [routerLink]="['/Register']">Register</a>
. Я пытался это сделать какое-то время!
Вот моя структура проекта (если это поможет) ...
где находится ваш '<роутер-выход> ', а вторая вещь angular2 ожидает маршрутизации из LoginComponent, но не может ее найти. –
Вы загружаете неправильный компонент. Ваш корневой компонент является 'LoginComponent', поэтому, когда вы пишете'/SomeComponent' (абсолютный путь), он будет начинаться с 'LoginComponent', у которого нет RouteConfig. –
У меня была аналогичная проблема с вложенными маршрутами. Объяснения по этому вопросу помогли. https://github.com/angular/angular/issues/8420 – theUtherSide