Обновите ngModel, если он не равен null angular 5

Я хочу обновить [(ngModel)], используя onclickevent , только если значение не равно нулю. Вот что я пробовал

метод события щелчка:

  setBiometricsStartTime() {
     let startTimeStore = new Date();
     if(this.startTime == undefined) 
     {
         this.startTime = new Date();
     }
     else 
     {
        this.startTime = startTimeStore;
     }
  }

HTML-код:

[...]
   <mat-expansion-panel
    (opened)="personalDetailsOpenState = true" (closed)="personalDetailsOpenState = false" (click)="setBiometricsEndTime()
   </mat-expansion-panel>
[...]

К сожалению, значение модели генерируется при каждом событии щелчка.


person hopeforall    schedule 25.10.2018    source источник
comment
пожалуйста, поделитесь также своим html-кодом   -  person harkesh kumar    schedule 25.10.2018
comment
где вы определяете startTime? вы уже где-то установили его значение?   -  person jmdavalos    schedule 25.10.2018
comment
Либо вы можете отключить его, либо проверить его на своем обратном коде.   -  person bhaumik shah    schedule 25.10.2018
comment
@jmdavalos это не было определено раньше. Просто установить startTime на текущее datetime, только если это значение не равно нулю   -  person hopeforall    schedule 25.10.2018
comment
хм, а где startTime используется в шаблоне?   -  person jmdavalos    schedule 25.10.2018
comment
Дело в том, что в вашем коде startTime всегда будет иметь значение - я не понимаю, почему вы устанавливаете время начала, когда оно уже имеет значение (не ноль). поэтому, если вы хотите установить startTime только тогда, когда его значение не равно нулю, вы имеете в виду, что если его значение в настоящее время равно нулю, оно всегда должно быть нулевым?   -  person jmdavalos    schedule 25.10.2018
comment
@jmdavalos Exaclty. Это вариант использования   -  person hopeforall    schedule 25.10.2018


Ответы (2)


Вы устанавливаете его в другом состоянии, попробуйте

if(!this.startTime || this.startTime==undefined) 
 {
     this.startTime = new Date();
 }
person Dignesh    schedule 25.10.2018

Вы должны проверять каждый щелчок, что данная модель нулевая или нет, если она нулевая, тогда вы можете установить значение

вы можете использовать этот код

setBiometricsStartTime() {
     let startTimeStore = new Date();
     if(this.startTime && this.startTime!=null) 
     {
         this.startTime = new Date();
     }

  }
person bhaumik shah    schedule 25.10.2018