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>
