2016-11-13 7 views
0

配列内のオブジェクトの検出プロパティを手動で(または自動的に)変更する必要があります。私は、 "isNotDeleted"プロパティでフィルタリングされたngForループにproductShopsエンティティの配列を持っています。 isNotDeletedプロパティの値を変更すると角度が変化しないようになります。アレイ内のオブジェクトの変更検出

<ul class="nav nav-tabs"> 
    <li *ngFor="let productShop of product.productShops | filter:'isNotDeleted':true" > 
     <a href="#categoryAssocTab{{productShop.shop.id}}" data-toggle="tab">{{productShop.shop.name}}</a> 
    </li> 
</ul> 

はEDIT:パイプの実装:

import {Pipe, PipeTransform} from "@angular/core"; 

@Pipe({ 
    name: 'filter' 
}) 
export class FilterPipe implements PipeTransform{ 

    transform(value:Array<any>, property, equal){ 

     let properties = property.split('.') 

     if(value){ 
      return value.filter(item => { 

       let finalValue:any = item 

       properties.forEach(p => { 
        finalValue = finalValue[p] 
       }) 

       return finalValue == equal 
      }) 
     } 

     return [] 
    } 

} 
+0

も参照してくださいフィルターパイプのあなたのパイプの実装 – yurzui

+0

追加実装を追加してください。 – JaSHin

+0

どのようにプロパティを変更しますか? – yurzui

答えて

1

与えられた入力のためのその変換の結果は、入力が変更されていない場合でも変更することができますので、あなたのパイプは、純粋でないようにマークされなければなりません。

@Pipe({ 
    name: 'filter', 
    pure: false 
}) 

関連する問題