Угловой, как избежать проверки флажка? - PullRequest
1 голос
/ 10 апреля 2019

Когда флажок установлен, я показываю модал с двумя кнопками, принимаю и не принимаю. Флажок следует проверять только в том случае, если отмечена кнопка «Принять».

В целях тестирования я попытался создать этот флажок

<input type="checkbox" (change)="foo()" [checked]="false">

Ожидается, что он выполнит метод foo моего компонента, но никогда не будет проверен. Проблема в том, что это проверяется! Я исхожу из фона React, и это очень расстраивает.

Есть идеи, что я делаю не так?

Я тоже пытался

<input type="checkbox" name="show_recurrency" (change)="foo()" [(ngModel)]="checkout.recurrency" id="show_recurrency" />

        foo(e) {
          e.preventDefault();
          console.error('foooooooooooooooo', e);
          this.checkout.recurrency = false;
          return;
        }

С уважением,

Ответы [ 2 ]

2 голосов
/ 10 апреля 2019

Вы можете обработать событие click:

<input type="checkbox" (click)="foo($event)" [checked]="false">

и вызвать event.preventDefault() для предотвращения изменения:

foo(event) {
  event.preventDefault();
  console.log("foo was called");
}

См. этот стек длядемо.

0 голосов
/ 10 апреля 2019

Вы можете присвоить ему [(ngModel)], а внутри foo() принудительно вернуть значение false.

...