0
をApp.componentするFilter.Componentからフィルタデータを渡す私は同じ成分(app.ts)におけるフィルタリングおよびリストを持っている場合、私は、動作する単純なフィルタリングアプリケーションを作成した:http://plnkr.co/0eEIJg5uzL6KsI70wWsC2角度最終 -
@Component({
selector: 'my-app',
template: `
<select name="selectmake" [(ngModel)]="makeListFilter" (ngModelChange)="selectMake()">
<option *ngFor="let muscleCar of muscleCars" [ngValue]="muscleCar">{{muscleCar.name}}</option>
</select>
<select name="selectmodel" [(ngModel)]="modelListFilter">
<option *ngFor="let m of makeListFilter?.models" [ngValue]="m.model">{{m['model']}}</option>
</select>
<button class="btn btn-default" type="submit" (click)="searchCars()">FILTER</button>
<ul>
<li *ngFor="let _car of _cars | makeFilter:makeSearch | modelFilter:modelSearch">
<h2>{{_car.id}} {{_car.carMake}} {{_car.carModel}}</h2>
</li>
</ul>`,
providers: [ AppService ]
})
export class App implements OnInit {
makeListFilter: Object[];
modelListFilter: string = '';
_cars: ICar[];
constructor(private _appService: AppService) { }
ngOnInit(): void {
this._appService.getCars()
.subscribe(_cars => this._cars = _cars);
}
selectMake() {
if(this.modelListFilter) {
this.modelListFilter = '';
}
}
searchCars() {
this.makeSearch = this.makeListFilter['name'];
this.modelSearch = this.modelListFilter;
}
私が達成したいのは、フィルタリングを独自のコンポーネント(filtering.component.ts)に移動し、選択ボックスの値を@Inputと@Outputを使用してリストコンポーネント(app.ts)に戻すことです。適切に機能する。
私は既にここでコンポーネントを分離していますが、データをリストコンポーネントに渡すことはできません。 (app.ts):http://plnkr.co/1ZEf1efXOBysGndOnKM5
ありがとうございます。あなたはボタンをクリックしたときに出力する必要があります
はい、それはトリックでした!ありがとう@MadhuRanjan – Todor