проблема с ожиданием между ts-файлом и html-файлом со свойством [min] . Angular 7

#javascript #angular #typescript

#javascript #angular #typescript

Вопрос:

Я использую Angular Cli 7.3.9

У меня есть ввод типа даты, который должен отображаться в его datepicker со следующего дня в соответствии с текущей датой.

вот что я сделал на my .ts :

 debugger
var minDateFinal ;
this.minDate = new Date();
this.minDate.setDate(this.minDate.getDate() 1)
minDateFinal = this.datePipe.transform(this.minDate,'yyyy-MM-dd') ;
console.log(minDateFinal);
debugger
  

вот что я сделал со своим .Html:

 <input type="date" class="form-control" formControlName="dateDebut" [min]="minDateFinal">
  

Проблема, когда я обращаюсь к консоли, я получаю правильный результат, но отображение не работает.
вот скриншоты, чтобы понять мою проблему :

когда я переопределяю свойство min с помощью этого кода:

 <input type="date" class="form-control" formControlName="dateDebut" min="2020-10-02">
  

Я получаю :
Чего я хочу

но когда я использую то, что я сделал, это не работает.

Я получаю: что я получаю

заранее благодарю вас.

Ответ №1:

Это потому, что, когда вы выполняете инициализацию даты в файле ts, ваше представление (html) еще не готово, вам придется использовать ngAfterViewInit() , поэтому в вашем файле ts:

 minDateFinal;
minDate;

ngAfterViewInit() {
  this.minDate = new Date();
  this.minDate.setDate(this.minDate.getDate() 1)
  this.minDateFinal = this.datePipe.transform(this.minDate,'yyyy-MM-dd') ;
}