Angular2: la detección de cambios no se muestra a menos que se haga clic

Tengo un componente en el que puede ingresar algunos términos de búsqueda y filtrará el contenido utilizando un bucle * ngFor. El problema es que cuando ingreso un término de búsqueda, necesito hacer clic en la pantalla para que la actualización surta efecto visualmente.

Aquí está la parte del código html en la que ocurre el bucle:

    <li *ngFor="let item of posts | reverse; let i = index; ">
        <div class="media" *ngIf="item.doesContainTags(searchTags)">

El código que se ejecuta en el campo de entrada donde ingresa las etiquetas para buscar es:

 updateSearchTags() {
    event.stopPropagation();
    // sorter is what is types into the search by tag input field
    this.searchTags = this.sorter.split(',');
 }

Aquí está la función estática en el objeto de publicación:

  doesContainTags(searchTags: strin,g[]): boolean {

    let array = this.tags.split(',');
    if(!array || array.length === 0) {return false;}
    if(!searchTags || searchTags.length === 0) {return false;}

    for(let searchTag of searchTags){
         if(array.indexOf(searchTag) === -1) {

        } else {
        return true;
        }
    }
    return false;
 }

Aquí está el código que obtiene las publicaciones que se repiten:

            this.postsService.subscribeAllPosts()
            .do(console.log)
            .subscribe( posts => this.posts = posts);

Aquí está el código en postsService que obtiene el observable:

 subscribeAllPosts(): Observable<Post[]> {
    return this.af.database.list('posts')
    .map(Post.fromJsonList);
 }

Entonces, todo esto funciona, pero el cambio no se muestra a menos que haga clic en la pantalla. ¿Hay alguna manera de llamarlo manualmente para actualizar? Estaba pensando que podría llamar a esto manualmente dentro de la función updateSearchTags que se actualiza después de escribir en la búsqueda por entrada de etiquetas, pero no estoy seguro de qué código haría esto.

Actualización, he cambiado el evento a un evento de pulsación de tecla. Ahora, sin embargo, estoy tratando de hacer que este evento suceda después de que ocurra el enlace bidireccional, ya que ahora lo está haciendo antes de que ocurra el enlace. Simplemente muestra cada carácter después de hacer clic en el siguiente.

Actualización 2: se encontró el evento de keyup. Emitido ordenado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta