Угловая нестандартная труба не найдена

В моем приложении мне нужна нестандартная труба в глобальном масштабе, я пытаюсь реализовать ее по угловой трубе, но всегда вижу эту ошибку

Ошибки синтаксического анализа шаблона: канал 'formatdate' не найден

formatdate.pipe

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'formatdate'
})

export class FormatdatePipe implements PipeTransform {

  transform(dateJson: any, args?: any): any {
.
 //code...
.
      return dateJson;
    }
  }
}

app.module

import { FormatdatePipe } from './shared/pipes/formatdate.pipe';
@NgModule({
  declarations: [
    AppComponent, FormatdatePipe 
  ],

Этот канал работает, если я импортирую его во все мои модули, а не в основной app.module, нужен ли мне модуль pipe-канала или что-то в этом роде?

1 ответ

Решение

Трубы (такие как Компоненты и Директивы) не работают глобально, как сервисы.

Вам нужно определить трубу в каком-то модуле. Затем вы можете использовать его в компонентах, определенных в этом модуле. Другой способ - добавить канал в экспорт модуля, а затем импортировать этот модуль в модуль, в котором вы хотите его использовать.

Определите это так:

import { FormatdatePipe } from './shared/pipes/formatdate.pipe';

@NgModule({
  declarations: [
    FormatdatePipe 
  ],
  exports: [
    FormatdatePipe
  ]
})   
export class SomeUtilModule {}

Затем импортируйте этот модуль туда, где вы хотите его использовать, и он должен работать:)

Другие вопросы по тегам