Ich arbeite an einem eckigen Rohr, um Stämme zu behandeln und zu filtern.angular2 pipe und neue Daten
meine Pfeife sieht wie folgt aus
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 Teil
<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>
neue Nachrichten ein socket.io Eingang
this.socket.on werfen hinzugefügt werden kann ('message', Funktion (Nachricht, Benutzer) { this.messages.push ({Benutzer: Benutzer, Nachricht: Nachricht});
Der Filter funktioniert einwandfrei, wenn ich den Eingabetext eintippe, aber wenn danach neue Nachrichten hinzugefügt und nicht angezeigt werden (zB gefiltert), denke ich, dass es etwas zum Auslösen des Filterupdates gibt?