我如何在Angular2中只显示card.column值与column.id匹配的结果?
我如何在Angular2中只显示card.column值与column.id匹配的结果?
我有以下代码,并且它运行良好,它的作用是使用ngFor重复创建每个列对象的列。
目前它在每个列中显示来自卡片对象的每张卡片。
我想要的是只在column.id = card.column的列中显示卡片。
我该如何修改我的代码来实现这个目标?
import {Input, Output, EventEmitter, Component, Injectable} from 'angular2/core' import {NgFor} from 'angular2/common' import {Observable} from 'rxjs/Observable'; interface Card { id?: number; title?: string; column?: number; } @Injectable() export class DataService { cards$: Observable>; private _cardsObserver: any; private _dataStore: Array ; constructor(){ this._dataStore = [ {id: 1, title: 'Card A', column: 1}, {id: 2, title: 'Card B', column: 2}, {id: 3, title: 'Card C', column: 2} ]; this.cards$ = new Observable(observer => this._cardsObserver = observer).share(); } loadCards() { this._cardsObserver.next(this._dataStore); } addCard(){ this._dataStore.push({id: 4, title: 'Card D', column: 3}); this._cardsObserver.next(this._dataStore); } getColumns(){ var columns = [ {id: 1, title: 'Column One'}, {id: 2, title: 'Column Two'}, {id: 3, title: 'Column Three'} ]; return columns; } } @Component({ selector: 'app', providers: [DataService], directives: [], template: ` {{c.title}} {{card.title}} ` }) export class App { private cards: Array ; private columns: any; constructor(public dataService: DataService) { dataService.cards$.subscribe(updatedCards => this.cards = updatedCards); dataService.loadCards(); this.columns = dataService.getColumns(); } }