установите и снимите флажок в angular 2 с помощью пробела

#angular #angular2-forms

#угловатый #angular2-формы

Вопрос:

Я новичок в angular 2 и пытаюсь реализовать функцию одного флажка, т.е. Флажок должен быть установлен и снят, как только я нажму пробел.

Код для флажка в component.html-

 <md-checkbox #checkBox (keyup)="handleCheckBoxKeyUp($event,checkBox)" name="" value=""></md-checkbox>
 

Код для выбора флажка с помощью пробела в моем component.ts-

 handleKeyUp($event,checkBox: MdCheckBox){
    if ($event.code===32){
    checkBox.checked=true;
    }
}
 

Когда я нажимаю пробел, флажок устанавливается, но он не снимается при следующем нажатии клавиши пробела. Это должно происходить последовательно.Любая помощь была бы очень признательна.

Кроме того, я хочу повторно использовать эту функциональность на нескольких страницах. Дайте мне знать, как это можно сделать.Спасибо.

Ответ №1:

Это очень простой вопрос программирования.

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

Это делается с помощью ! логического NOT оператора or. В вашем случае это будет:

 checkBox.checked = !checkBox.checked;
 

Если флажок установлен (или true ), ! он инвертирует его и установит checked значение false .