0
私はオブジェクトのリストをフィルタリングする検索パイプを持っています。次に、そのフィルタに一致するすべてのオブジェクトに対してアクションを実行したいとします。コンポーネントにパイプをインポートしてフィルタを再実行できますが、フィルタリングされた結果自体にアクセスする方法はありますか?アクセスパイプの結果がコントローラまたはテンプレート
<input type="text" [(ngModel)]="searchText"/>
<ul>
<li *ngFor="let item of items | mySearch:searchText">{{item.name}}</li>
</ul>
<button (click)="doActionOnMatchingItems(???)">Do Action</button>
を支えてきたこれは一見良い解決策のように見えます。しかし、これは 'doActionOnMatchingItems(???)'の結果を取り消して複数回実行されることを忘れないでください。 – rinukkusu
@リニュクスGood pointですが、 'items | mySearch:searchText'もそれぞれの目盛りで評価されます。ちょうど新しい変数の割り当てを追加しました。このような場合に 'trackBy'を追加してパフォーマンスを向上させたいと思っています:)ヘッドアップの兄弟、Cheers;ありがとうございます; –
@PankajParkar、Angular2を使い始めました。しかし、私は次のエラーが発生しています:*上記のあなたのソリューションを使用して* "バインディングは割り当てを含むことはできません" *。私の 'HTML'はこれを含んでいます:(' * ngFor = "は、items = customPipe:[param1、param2、param3]; let first = first"> ')をfilterItems = itemとします。ところで、それは新しい機能ですか?私はまだAngular 2 RC 4を使用しているので私は頼んでいる。よろしく): – developer033