管道可以用在Javascript或Typescript中吗?

时间:2016-05-27 22:33:18

标签: angular angular2-template

这是一个绝望的天真问题,但我现在已经和它摔跤了几个小时。

可以从JavaScript / TypeScript调用管道,还是仅用于{{1}}?所有参考资料和tutorials我都在查看仅在模板中使用的管道。

我没有这方面的硬用例,但我正在玩Angular2的各种元素,可以想象我可能需要直接使用Pipe而不是在JS / TS中重新编码

2 个答案:

答案 0 :(得分:2)

是的,管道只是代码,因此您可以将其用作代码,而无需在模板中使用它。例如,我有一个ProductFilterPipe可以过滤产品列表。我们可以在代码中使用该管道,如下所示:

filterProducts() : void {
    let productFilterPipe = new ProductFilterPipe();
    let filteredList = productFilterPipe.transform(this.products, "am");
    console.log(filteredList);
}

所以有可能。

答案 1 :(得分:0)

您还可以通过导入使用默认的Angular管道(例如DecimalPipe,CurrencyPipe):

import {DecimalPipe} from '@angular/common';

然后通过

使用它
DecimalPipe.prototype.transform(value, formattingString)