#angular #typescript #checkbox
#угловой #typescript #флажок
Вопрос:
Я работаю над проектом Angular, где мне нужно предоставить право администратора на использование. isAdmin является логическим значением (false / true). Но он не может понять, как проанализировать правильное значение для компонента и сохранить значение.
<div class="checkbox">
<label>
<input type="checkbox" name="isAdmin" [(ngModel)]="user.isAdmin" [checked]="item.checked">
Is Admin?
</label>
</div>
component.ts выглядит следующим образом:
this.userForm.get('isAdmin').valueChanges.subscribe(val => {
this.newUser.isAdmin = !!val;
});
Может кто-нибудь увидеть, в чем моя ошибка?
Ответ №1:
В вашем html вы используете формы на основе шаблонов. Но в вашем ts вы используете подход с реактивными формами.
Поэтому вам следует изменить свой HTML, чтобы использовать подход с реактивными формами, например, следующим образом:
<div class="checkbox">
<label>
<input type="checkbox" name="isAdmin" [formControl]="userForm.get('isAdmin')" [checked]="item.checked">
Is Admin?
</label>
</div>