将过滤器放在另一个组件中

时间:2017-10-01 18:28:35

标签: angular angular-material2

我正在尝试使用Angular 2材质数据表模块 (https://material.angular.io/components/table/overview)用于创建表但我需要在示例中使用的过滤器在另一个组件中使用,我不完全理解如何这样做。我不明白@ViewChild('filter') filter: ElementRef;如何运作,而且文档似乎不是很清楚它是如何工作的。

1 个答案:

答案 0 :(得分:0)

你可以将你的过滤器分成另一个文件,包括并像这样使用它(我没有测试它,但它应该工作。你的过滤器代码应该代替"Code for filter"字符串,我想,你在那个地方需要一个功能):

<强> filter.ts:

export const Filter = "Code for filter";

<强> example.ts:

/* other imports */
import { Filter } from 'path/to/filter.ts';

@Component({
  ...
})

export class ExampleComponent {
  constructor(
    private filter: Filter
  ) {}
}

<强> example.html的:

<div *ngFor="let item of items | filter">
...
</div>