Передайте значение из @Input в предоставленный токен инъекции - PullRequest
0 голосов
/ 13 июля 2020

Как я могу передать значение из компонента @Input в предоставленный InjectionToken? В настоящее время у меня есть

@Component({
  selector: 'a-datetime',
  providers: [
    {provide: DateAdapter, useClass: MomentDateAdapter},
    {provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, 
      useValue: {strict: false, useUtc: ???}}, <-- Pass value from component @Input
  ]
})
export class DatetimeInputComponent implements OnInit {

  @Input() utc: boolean;

  constructor() {
  }

Идея состоит в том, чтобы использовать comp onet как:

<a-datetime [utc]="true or false"> depending on use case.

Мое текущее решение состоит в том, чтобы иметь / копировать два компонента, один с <a-datetime-with-useutc-true и другой <a-datetime-with-useutc-false, а затем у меня есть <a-datetime, где я решаю, какой из них показать с помощью ngIf*

Я ищу более элегантное решение. Может ли кто-нибудь указать мне правильное направление?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...