Почему я импортирую `Common` модуль до сих пор не могу использовать DatePipe в Angular 7? - PullRequest
0 голосов
/ 08 июля 2019

По моему мнению, если A.module import B.module и B.module import C.module, это означает, что A.module import C.module. Вот почему многие разработчики Angular создают открытый модуль с именем Shared.module.

Однако это правило выглядит так, что оно не относится к DatePipe. Я построил Shared.module, CommonModule импортируется и экспортируется в этом модуле. Затем я импортирую Shared.module в AppModule. Официальный документ говорит мне, что DatePipe принадлежит CommonModule.

К сожалению, консоль браузера показывает ошибку: NullInjectorError: "StaticInjectorError(AppModule)[AppComponent -> DatePipe]:

Вы можете увидеть код в ссылке ниже.

https://stackblitz.com/edit/angular-common-datepipe?embed=1&file=src/app/app.component.ts

Кто может помочь мне разобраться с этой проблемой?

Ответы [ 2 ]

2 голосов
/ 08 июля 2019

То, что вы сказали, правильно.Причина по вышеуказанной причине заключается в том, что в CommonModule DatePipe не зарегистрирован в качестве поставщика.

Что вы можете сделать, это добавить DatePipe в качестве поставщика в общий модуль.

providers: [DatePipe]
1 голос
/ 08 июля 2019

Трубы не вводятся в угловой. Вы должны сами предоставить их вручную.

@NgModule({
   declarations: [AppComponent],
   providers: [DatePipe]
   // ....
{)
export class AppModule {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...