为什么我必须在提供程序数组中放置@ angular / common管道?

时间:2019-02-01 14:44:19

标签: angular

我不明白为什么我必须在提供程序数组中放入@ angular / common管道(DatePipe,JsonPipe等)。提供者数组不仅用于服务吗?

import { JsonPipe } from '@angular/common';

@NgModule({
  imports: [
  ],
  declarations: [
  ],
  exports: [],
  providers: [JsonPipe]
})

为什么我不能使用声明数组?使用自定义管道,这行得通。 (对不起,我的英语不好)

2 个答案:

答案 0 :(得分:0)

您应该导入CommonModule:

import {CommonModule} from '@angular/common';

@NgModule({
  imports: [
      CommonModule
  ]
})
...

答案 1 :(得分:0)

看到该错误的原因是因为您已将JSON管道直接导入到Typescript组件中。删除JSON管道的直接导入语句,它应该可以解决您的问题。您不需要将Angular的内置Pipes添加到您的provider数组中。