【问题标题】:Angular 6 library pipeAngular 6 库管道
【发布时间】:2019-04-23 02:09:04
【问题描述】:

如何在 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}} 但未调用 SomePipetransform 方法。

【问题讨论】:

    标签: angular pipe angular6 angular-pipe angular-library


    【解决方案1】:

    所以问题似乎在这里:

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

    当您应该从模块文件中导出模块 (@NgModule) 时,您正在从 some.pipe 文件中导出所有内容。像这样的:

    export * from './lib.module';
    

    这样做应该可以解决问题。

    这里有一个Sample StackBlitz 供您参考。

    【讨论】:

    • 导出 export * from './lib/pipes/some.pipe';是正确的,因为我的管道实现驻留在 some.pipe.ts 文件中。
    【解决方案2】:

    自定义管道已正确添加,并且在我的应用程序中运行。还有一个我没有看到的错误,关于我的@Pipe 在 transform() 方法中使用的服务(从库中错误地导入)。因此,transform() 似乎总是什么都不返回,因为它依赖于该服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 2018-11-07
      • 2018-11-03
      • 2023-04-04
      • 1970-01-01
      • 2019-01-03
      相关资源
      最近更新 更多