Búsqueda de sitios web

typescript - Angular 2 almacenar valor canalizado en variable


Tengo una tubería llamada search y elementos que quiero almacenar el valor devuelto por la tubería en una variable así (En mi plantilla)

let searchedItems = items | search

¿Alguna idea?

Respuesta #1

Suponiendo que estás dentro de un componente, puedes instanciar una nueva tubería y aplicar su transformación en línea de la siguiente manera:

let searchedItems = new SearchPipe().transform(items);

Además, puedes aprovechar el sistema de inyección de Angular2:

import { SearchPipe} from './pipes';

class SearchService {

    constructor(private searchPipe: SearchPipe) {

    }

    public searchItems(items: any[]): any[]{
        let searchedItems = this.searchPipe.transform(items);

        return searchedItems;
    }
}

Respuesta #2

almacenar en la plantilla:

<input hidden #searchItems="ngModel" [ngModel]="items | search" />
<!--assuming you want to reuse it inside ngFor-->
<li *ngFor="let item of searchItems.value">
 {{item.Name}}
</li>

Artículos relacionados