Ich habe einen Plünderer erstellt, um zu zeigen, was das Problem ist.Komponente wird nicht ordnungsgemäß gerendert
https://plnkr.co/edit/a7F616WCoKbSGXzlYGsM?p=preview
Ich habe eine Komponente I in einer anderen Komponente verwenden möchten, importierte ich sie und fügte hinzu, es den Richtlinien [] des Bauteils Dekorateur und es nicht machen nicht ...
Die Die Komponente ist line-list.component, ihr Selektor ist gb-line-list und ich versuche, sie in dieser Datei app/area-list.component.ts zu verwenden.
Die erste Seite zeigt eine Liste von Bereichen, wenn ich auf einen Bereich klicke, möchte ich das Detail dieses Bereichs mit einer Liste von Linien anzeigen. Das ist die Liste der Zeile, die nicht rendert ...
flächen detail.component.ts
import {Component, Input, OnInit} from 'angular2/core';
import {RouteParams} from 'angular2/router';
import {LineListComponent} from './line-list.component';
import {Area} from './area.interface';
import {LineService} from './lines.service';
@Component({
selector: '[gb-area-detail]',
directives: [LineListComponent],
template: `
<div *ngIf="area">
<h2>{{area.name}} area</h2>
<gb-line-list [areaId]="area.id"></gb-line-list>
</div>
`
})
export class AreaDetailComponent implements OnInit {
private area: Area;
constructor(
private _lineService: LineService,
private _routeParams: RouteParams){}
ngOnInit() {
let id = +this._routeParams.get('id');
this._lineService.getArea(id)
.then(area => this.area = area);
}
}
Line-list.component.ts
import {Component, OnInit, Input} from 'angular2/core';
import {LineService} from './lines.service';
import {Line} from './line.interface';
@Component({
selector: '[gb-line-list]',
template: `
<ul>
<li *ngFor="#line of lines">{{line.name}}</li>
</ul>
`
})
export class LineListComponent implements OnInit {
@Input() areaId: number;
private lines: Line[];
constructor (
private _lineService: LineService) {}
getLines() {
this._lineService.getLines(this.areaId)
.then(lines => this.lines = lines);
}
ngOnInit() {
this.getLines();
}
}
Sie die plnkr verpasst profitieren könnten: P –
ja, Ich erkannte es haha – JCorriveau
der Selektor Selektor: '[gb-line-list]' ist Attribut-Selektor, aber Sie verwenden es als Element Selektor. Hier ist [Sie plunker behoben] (https://plnkr.co/edit/EbDwX0De64yUJ9pkAM8C?p=preview), geänderte Zeile 14 von Area-Detail.component.ts – Abdulrahman