Я пытаюсь отправить отфильтрованный массив из моего канала в мой компонент, используя @Inject(forwardRef(())
, например:
filter.pipe.ts
constructor(@Inject(forwardRef(() => OpenItemsComponent)) private ded_open: OpenItemsComponent) {}
transform(items: any[], field: string, value: string[]): any[] {
...
this.ded_open.filteredData(this.newArray)
...
}
app.ts
...
filteredData(val) {
this.currentFilter = val.slice()
console.log(this.currentFilter) // in currentFilter I will have the filtered array
...
}
Я пытаюсь добавить больше компонентов, потому что я использую этот канал в 4 компонентах.И я попробовал что-то вроде этого:
constructor(
@Inject(forwardRef(() => OpenItemsComponent)) private ded_open: OpenItemsComponent,
@Inject(forwardRef(() => ClosedItemsComponent)) private ded_closed: ClosedItemsComponent,
@Inject(forwardRef(() => TrdIComponent)) private trade_open: TradeInvoicesComponent,
@Inject(forwardRef(() => TrdIClosedComponent)) private trade_closed: TradeInvoicesClosedComponent) {
}
но я получаю
Ошибка: ошибка (в обещании): ошибка: StaticInjectorError (AppModule) [FilterPipe -> ClosedItemsComponent]:StaticInjectorError (Platform: core) [FilterPipe -> ClosedItemsComponent]: NullInjectorError: Нет поставщика для ClosedItemsComponent!
Не могу добавить больше компонентов в конструктор каналов?Как я могу решить это?Спасибо за потраченное время!
(PS - я знаю, что использование труб - это плохо, но это только для демонстрации, а не для финальной версии)