Ich versuche, Login-Funktionalität mit angular2-Seed-Projekt als Basis zu implementieren und Bezug auf angular2-Login-Samen. Aber ich bekomme den folgenden Fehler. Ich habe mir die anderen Fragen angesehen, die sich auf den gleichen Fehler beziehen, konnte aber nicht herausfinden, was mit meinem Code falsch ist. Bitte helfen Sie.Unbehandelte Versprechen Ablehnung: Kann nicht primäre Steckdose zu laden Komponente Angular2
Unhandled Promise rejection: Cannot find primary outlet to load 'HomeComponent' ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot find primary outlet to load 'HomeComponent'
Meine App Komponentencode:
@Component({
moduleId: module.id,
selector: 'sd-app',
viewProviders: [NameListService, HTTP_PROVIDERS],
templateUrl: 'app.component.html',
directives: [ROUTER_DIRECTIVES, NavbarComponent, ToolbarComponent]
})
export class AppComponent {
constructor() {
console.log('Environment config', Config);
}
}
app.component.html Code:
<sd-navbar><router-outlet></router-outlet></sd-navbar>
App Route config:
const routes: RouterConfig = [
{
path: 'login',
component: LoginComponent,
canActivate: [UnauthenticatedGuard]
},
...HomeRoutes,
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes),UnauthenticatedGuard, HomeComponentGuard
];
HomeRoutes Code:
export const HomeRoutes = [
{
path: '',
component: HomeComponent,
canActivate: [HomeComponentGuard],
children: [
{ path: '', component: HomeComponent },
{ path: 'home', component: HomeComponent },
{ path: 'about', component: AboutComponent }
]
},
];
Home.Component Code:
import { Component } from '@angular/core';
import { ROUTER_DIRECTIVES } from '@angular/router';
import { NameListService } from '../shared/index';
@Component({
moduleId: module.id,
selector: 'wrapper',
templateUrl: 'home.component.html',
styleUrls: ['home.component.css'],
directives: [ROUTER_DIRECTIVES]
})
export class HomeComponent {
newName: string;
constructor(public nameListService: NameListService) {
console.log("nameList: " + JSON.stringify(nameListService.get()));
}
addName(): boolean {
this.nameListService.add(this.newName);
this.newName = '';
return false;
}
}
Können Sie bitte versuchen, 'pathMatch: 'full'' wie '{path:' 'hinzuzufügen, Komponente: HomeComponent, pathMatch:' full '},' –
Haben versucht mit voller pathMatch, immer noch den gleichen Fehler. – chamalabey
Ein Plunker https://angular.io/resources/live-examples/quickstart/ts/plnrr.html wäre hilfreich bei der Diagnose. –