135

当我在模板中使用我的自定义管道时,它是这样的:

{{user|userName}}

而且效果很好。

是否可以在代码中使用管道?

我尝试像这样使用它:

let name = `${user|userName}`;

但它显示

未定义用户名

我的替代方法是db.collection.findOne()在代码中手动使用。但是有什么聪明的方法吗?

4

2 回答 2

150

providers首先在你的模块中声明管道:

import { YourPipeComponentName } from 'your_component_path';

@NgModule({
  providers: [
    YourPipeComponentName
  ]
})
export class YourServiceModule {
}

然后你可以@Pipe在这样的组件中使用:

import { YourPipeComponentName } from 'your_component_path';

class YourService {

  constructor(private pipe: YourPipeComponentName) {}

  YourFunction(value) {
    this.pipe.transform(value, 'pipeFilter');
  }
}
于 2016-11-02T07:35:15.887 回答
114

@Siva 是正确的。谢谢!

所以在组件中使用管道的方式是这样的:

let name = new UserNamePipe().transform(user);

链接到另一个类似的问题。

于 2016-02-02T17:05:26.417 回答