我一直在自己构建一个NG应用程序,并使用共享模块中的组件中的管道来解决问题。
共享模块(删除所有其他内容):
import { NgModule } from '@angular/core';
import { FilterByPipe, OrderByPipe } from './pipes/index';
@NgModule({
imports: [],
declarations: [FilterByPipe],
exports: [
//Pipes
FilterByPipe,
],
providers: [FilterByPipe]
})
export class SharedModule { }
我的问题是,如何在其他组件代码中使用导出的管道FilterByPipe
?即。
export class ViewSomethingComponent implements OnInit {
constructor(private _filterBy: FilterByPipe)
filterSomething(data){ this._filterBy.transform(data,{a:'value'})}
}
我已经尝试直接导入管道,但是这给了我依赖性问题,因为它不是从父模块提供的。除了将pip添加到父模块,然后将其用作依赖项注入的提供程序之外,还没有其他方法可以使用共享组件导出的管道吗?
答案 0 :(得分:1)
将PromotionFact
导入您的根SharedModule
。
然后,您可以在AppModule
中的任何组件中轻松使用FilterByPipe
。
AppModule
并添加以下内容,否则您将收到错误
import { FilterByPipe } from '@angular/common';
class FilterByPipe {
constructor(private fillterPipe: FilterByPipe) {}
transformData(data) {
this.fillterPipe.transform(data);
}
}