У меня есть приложение с угловым 2 (2.4.3) с использованием материала (2.0.0-beta.1), и у меня возникли проблемы с привязкой на флажках.Angular 2/Material 2: Checkbox checked binding
Я хочу иметь флажок, который условно проверен в соответствии с логическим значением в моем компоненте. Когда вы нажимаете, я хочу переключить bool.
Так что я сделал это:
private _showName: boolean = true;
и в HTML:
<md-checkbox (click)="toggleName()" [checked]="_showName"></md-checkbox>
И toggleName()
выглядит следующим образом:
toggleName(): void {
this._showName = !this._showName;
let ctrl = this._searchForm.get('name');
ctrl.enabled ? ctrl.disable() : ctrl.enable();
}
Используя это, когда я нажимаю на флажок:
- BOOL
_showName
получает переключен к ложным - Но флажок остается проверено
Второй раз флажка она неустановленный себя и снова переключает логическое значение, следовательно, оставляя логику обращенной.
Если установить [checked]
, используя строку, как это:
<md-checkbox (click)="toggleName()" [checked]="true"></md-checkbox>
Флажка неустановленный себя на первый щелчок и BOOL переключается, но теперь нет никакого способа для меня, чтобы привязать его к BOOL. Поэтому, если я изменю bool из моего компонента, он не будет отображаться в этом флажке.
Я, вероятно, что-то делаю неправильно, но смотрю «Примеры» в official documentation Я не могу понять, где я иду не так.
как о [attr.checked] = «истина» или [attr.checked] =» _showName» –