#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
.