Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 库中的角度默认管道不工作_Angular_Angular7_Angular Pipe_Angular Library - Fatal编程技术网

Angular 库中的角度默认管道不工作

Angular 库中的角度默认管道不工作,angular,angular7,angular-pipe,angular-library,Angular,Angular7,Angular Pipe,Angular Library,我正在建立一个角度库,用于一个更大的项目。这将是一种多回购方式,应用程序的每个部分都是一个库。所有这些部件都将有它们的组件、管道、服务 但我的第一次测试不起作用。我创建了我的独立库和一个hello world组件,用--watch构建它,用NPM将它链接到我的基础项目。。。它是有效的。它在屏幕上显示消息。当我尝试添加任何类型的管道时,问题就会出现,即使默认管道也会断开。如果创建日期对象并在消息后使用日期管道,则该对象将中断。与货币或异步管道相同 日期管道错误: Error: Uncaught (

我正在建立一个角度库,用于一个更大的项目。这将是一种多回购方式,应用程序的每个部分都是一个库。所有这些部件都将有它们的组件、管道、服务

但我的第一次测试不起作用。我创建了我的独立库和一个hello world组件,用--watch构建它,用NPM将它链接到我的基础项目。。。它是有效的。它在屏幕上显示消息。当我尝试添加任何类型的管道时,问题就会出现,即使默认管道也会断开。如果创建日期对象并在消息后使用日期管道,则该对象将中断。与货币或异步管道相同

日期管道错误:

Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[DatePipe -> InjectionToken LocaleId]: 
  StaticInjectorError(Platform: core)[DatePipe -> InjectionToken LocaleId]: 
    NullInjectorError: No provider for InjectionToken LocaleId!
Error: StaticInjectorError(AppModule)[DatePipe -> InjectionToken LocaleId]: 
  StaticInjectorError(Platform: core)[DatePipe -> InjectionToken LocaleId]: 
    NullInjectorError: No provider for InjectionToken LocaleId!
...
异步管道错误:

Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[AsyncPipe -> ChangeDetectorRef]: 
  StaticInjectorError(Platform: core)[AsyncPipe -> ChangeDetectorRef]: 
    NullInjectorError: No provider for ChangeDetectorRef!
Error: StaticInjectorError(AppModule)[AsyncPipe -> ChangeDetectorRef]: 
  StaticInjectorError(Platform: core)[AsyncPipe -> ChangeDetectorRef]: 
    NullInjectorError: No provider for ChangeDetectorRef!
    at NullInjector.push.../../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:8896)
...
库模块如下所示:

@NgModule({
  declarations: [HolaMundoTestComponent],
  imports: [
    CommonModule
  ],
  exports: [HolaMundoTestComponent]
})
export class HolaMundoTestModule { }
以及它导出的组件:

@Component({
  selector: 'lib-hola-mundo-test',
  // templateUrl: './hola-mundo-test.component.html',
  // template: `<h1>Hola mundo en fecha {{ dateFrom | date }}</h1>`,
  template: `<h1>Hola mundo en fecha {{ text | async }}</h1>`,
  styleUrls: ['./hola-mundo-test.component.scss']
})
export class HolaMundoTestComponent {
  public text = new BehaviorSubject<string>('MITEXTO');
  public dateFrom = new Date();
  public money = 123245.234555;
  // constructor(public holaMundoTest: HolaMundoTestService) {}
}
@组件({
选择器:“lib hola mundo测试”,
//templateUrl:“./hola mundo test.component.html”,
//模板:`Hola mundo en fecha{{dateFrom | date}}}`,
模板:`Hola mundo en fecha{{text | async}}`,
styleUrls:['./hola mundo test.component.scss']
})
导出类HolaMandoTestComponent{
公共文本=新行为主体(“MITEXTO”);
public dateFrom=新日期();
公共资金=123245.234555;
//构造函数(公共holaMundoTest:HolaMundoTestService){}
}

有什么想法吗?我正在导入包含所有默认管道的CommonModule,它是可能的最小库。

在库中,您必须在模块中导出所有组件和管道。然后在需要的地方导入该模块。这个链接应该是一个例子

如果这没有帮助,这个库可能会有用。它用于打包角度库。

看起来是个问题。尝试在
angular.json
文件中启用
preserveSymlinks
选项:

"architect": {
  "build": {
    "builder": "@angular-devkit/build-angular:browser",
    "options": {
      "preserveSymlinks": true,

看起来像是一个类似的问题,它可能会帮助你:我认为你应该在模板周围有单引号
,而不是反勾号
。谢谢你,@Valeriy Katkov。这是保存符号链接选项。谢谢你,瓦莱里·卡特科夫。你能不能把它作为问题的答案,这样真正的答案就不会隐藏在评论中?顺便说一句,反勾号允许你使用多行字符串。我使用它们是因为测试比示例更大。