Ich habe eine Bar-Komponente, dann erstelle ich eine Kind-Komponente (Kind-Bar) unter Bar-Komponente. Ich habe auch eine Kinderroute dafür. Aber ich Kind-Komponente kann nicht finden (404), wenn ich Kind-Route verwenden.Kind-Komponente kann nicht laden Kind Route in eckigen
app.routes.ts:
import { Routes } from '@angular/router';
import { HomeComponent } from './home';
import { AboutComponent } from './about';
import { BarComponent } from './bar/bar.component';
import { NoContentComponent } from './no-content';
import { DataResolver } from './app.resolver';
export const ROUTES: Routes = [
{ path: '', component: HomeComponent },
{ path: 'home', component: HomeComponent },
{ path: 'about', component: AboutComponent },
{ path: 'bar', component: BarComponent},
{ path: 'detail', loadChildren: './+detail#DetailModule'},
{ path: 'barrel', loadChildren: './+barrel#BarrelModule'},
{ path: '**', component: NoContentComponent },
];
bar.component.ts:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'bar',
templateUrl: './bar.component.html',
styleUrls: ['./bar.component.css']
})
export class BarComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
bar.component.html:
<p>
bar works!
</p>
<span>
<a [routerLink]=" ['./child-bar'] ">
Child Bar
</a>
</span>
<router-outlet></router-outlet>
Kind-bar.component.ts :
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'child-bar',
templateUrl: './child-bar.component.html',
styleUrls: ['./child-bar.component.css']
})
export class ChildBarComponent implements OnInit {
constructor() { }
ngOnInit() {
console.log('hello `ChildBar` component');
}
}
Kind-bar.module.ts:
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { routes } from './child-bar.routes';
import { ChildBarComponent } from './child-bar.component';
console.log('`ChildBar` bundle loaded asynchronously');
@NgModule({
declarations: [
/**
* Components/Directives/ Pipes
*/
ChildBarComponent,
],
imports: [
CommonModule,
FormsModule,
RouterModule.forChild(routes),
],
})
export class ChildBarModule {
public static routes = routes;
}
kinder bar.routes.ts:
import { ChildBarComponent } from './child-bar.component';
export const routes = [
{ path: '', component: ChildBarComponent, pathMatch: 'full' },
];
Bitte lassen Sie mich wissen, wenn Sie mehr Datei benötigen, ich anbringen kann. Vielen Dank.
Wenn ich diese Zeile hinzugefügt: {Pfad: '', redirectTo: 'Kind-bar', pathMatch: 'voll'} Kind-Bar-Komponente wird ohne Klick Child-Bar-Komponente Link angezeigt, das ist nicht was ich wollen. Ich denke, nachdem wir Child-Bar-Link klicken, dann Kind-Bar-Komponente angezeigt wird besser – EntryLeveDeveloper
Wenn ich diese Zeile hinzufügen: {Pfad: 'Child-bar', Komponente: ChildBarComponent} Kind-Bar-Komponente wird angezeigt, nachdem ich klicke Child-Bar-Link, aber es führte mich nicht zu einer anderen Ansicht, aber Child-Bar-Komponente zeigen am unteren Rand der Bar-Komponente, die nicht korrekt ist – EntryLeveDeveloper
@CodeContributor im Normalfall öffnen wir automatisch eine Kind-Komponente. Entfernen Sie RedirectTo, wenn Sie es nicht laden möchten. Wenn Sie zu einer neuen Ansicht umleiten möchten, warum erstellen Sie sie dann als untergeordnete Komponente. Mach es zu einem separaten Komponentenboss. Überprüfen Sie HTML für Design, wo Sie es wollen und gehen Sie durch https://angular.io/guide/router für weitere Informationen wie Routing in eckigen funktioniert –