2016-07-23 3 views
0

この小さなプロジェクトに問題があります。 私は自分のhtmlの2つの入力を作成したいので、データベースからいくつかのデータをフィルタリングする必要があります。私は1つのフィルター(それは動作する)を作るために管理したが、私は2番目のフィルターを作る方法を知らない。 (私のファイルに英語を使用していないのは申し訳ありません。あなたが気にしないことを願っています)。ここで は私が得たものである:Angular2、2つの入力をフィルタデータに使用

htmlファイル

<div class="container"> 
    <form class="navbar-form navbar-left" role="search"> 
     <div class="form-group"> 
      <input type="text" class="form-control" placeholder="Broj Kreveta" [(ngModel)]="broj_kreveta"> 
      <input type="text" class="form-control" placeholder="Broj Kvadrata" [(ngModel)]="broj_kvadrata"> 
     </div> 
    </form> 
    <div class="col-lg-12"> 
     <br/>Rooms<br/> <br/> 
     <div *ngFor="#soba of sobe | SearchPipe:broj_kreveta"> 
      ID room: {{soba.id}} 
      <br/> 
      Category: {{soba.kategorija}} 
      <br/> 
      Room number: {{soba.broj_sobe}} 
      <br/> 
      Number of beds: {{soba.broj_kreveta}} 
      <br/> 
      sqm: {{soba.broj_kvadrata}} 
      <br/><br/> 
     </div> 
    </div> 
</div> 

search.ts

import {Pipe} from 'angular2/core'; 

@Pipe({ 
    name: 'SearchPipe' 
}) 

export class SearchPipe { 
    transform (value, [queryString]) { 
     if (value == null) { 
      return null; 
     } 
     console.log('transform'); 
     return value.filter(item=>item.broj_kreveta.toLowerCase().indexOf(queryString.toLowerCase()) !== -1); 
    } 
} 

答えて

1

あなたはパイプにブースパラメータを持つことができます。

{{ myData | myPipe: arg1:arg2:arg3... }} 

とパイプの定義を:

export class MyPipe implements PipeTransform {  
    transform(value:any, arg1:any, arg2:any, arg3:any):any { 
    } 
関連する問題