1
我正在處理和過濾日誌的角管道。angular2管道和新數據
我管看起來像這樣
import {Injectable, Pipe,PipeTransform} from '@angular/core';
@Pipe({
name: 'logFilter'
})
@Injectable()
export class logFilterPipe implements PipeTransform {
transform(items: any[], args: any[]): any {
//console.log(items);
if (!args || args.length == 0)
{
return items;
}
return items.filter(item => item.msg.indexOf(args[0]) !== -1);
}
}
HTML部分
<input type="text" [(ngModel)]="filterLog" class="validate" />
<ul id="messages">
<li *ngFor="let msg of messages | logFilter:filterLog"> <div class="chip">{{ msg.user }}</div> {{ msg.msg }}</li>
</ul>
新的消息可以被添加拋出socket.io輸入
this.socket.on( '消息',功能(消息,用戶) {this.messages.push({user:user,msg:message});
}
如果我在輸入文本中輸入,但如果在那之後又添加了新消息,並且沒有顯示(例如過濾),那麼過濾器可以正常工作,我猜有些東西要觸發過濾更新?