Угловая 6 библиотечная труба - PullRequest
0 голосов
/ 20 ноября 2018

Как добавить пользовательский канал в библиотеку Angular 6, чтобы он был доступен в моем основном приложении?В настоящее время я делаю это в: lib.module.ts:

@NgModule({
  declarations: [
    SomePipe
  ],
  exports: [
   SomePipe
]})

в public_api.ts:

export * from './lib/pipes/some.pipe';

в app.module.ts:

import { LibModule } from 'lib';
@NgModule({
  ...
  imports: [
    LibModule
  ]
 ...
})

Я пытаюсь использовать трубу {{ 'something' | some}}, но transform метод SomePipe не вызывается.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Пользовательский канал был добавлен правильно и работал в моем приложении.Была еще одна ошибка, которую мне не удалось увидеть, касающаяся службы (неправильно импортированной из библиотеки) , которую мой @Pipe использовал внутри метода transform ().Следовательно, transform () всегда возвращал ничего, потому что полагался на этот сервис.

0 голосов
/ 20 ноября 2018

Таким образом, проблема, кажется, здесь:

export * from './lib/pipes/some.pipe';

Вы экспортируете все из файла some.pipe, когда вы должны были экспортировать модуль (@NgModule) из файла модуля.Примерно так:

export * from './lib.module';

Это должно решить проблему.

Вот пример Образец StackBlitz для вашей ссылки.

...