傳遞使用NgModel
綁定到複選框組件屬性:
@Pipe({name: 'filter'})
export class FilterPipe implements PipeTransform {
transform(products, args:string[]) : any {
return products.filter(product => {
if(args[0]) {
return product.id > 1;
}
return product.id;
}
}
}
@Component({
selector: 'my-app',
pipes: [FilterPipe],
template: `
<div *ngFor="#product of products | filter:enableFilter">
<div class="product">{{product.id}}</div>
</div>
<input type="checkbox" [(ngModel)]="enableFilter"> enable filter
<p>{{enableFilter}}`
})
export class AppComponent {
enableFilter = false;
products = [{id:1}, {id:2}, {id:3}];
constructor() { console.clear(); }
}
Plunker
如果組件邏輯中沒有需要知道複選框的值,我喜歡@pixelbits的答案。
我想你想'ref.checked'。 –
更正,謝謝! – pixelbits
我喜歡這個解決方案!關於進一步的問題:如何在更改複選框時觸發過濾器? – theva