I'm довольно новое Angular2 и у меня есть небольшая проблема:Угловое 2 Галочка двухсторонняя Привязка данных
В моей Вход-Компонентный-HTML, у меня есть две галочки, которые я хочу, чтобы связать в двухполосных данных привязка к элементу Login-Component-TypeScript.
Это HTML:
<div class="checkbox">
<label>
<input #saveUsername [(ngModel)]="saveUsername.selected" type="checkbox" data-toggle="toggle">Benutername speichern
</label
></div>
И это Component.ts:
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Variables } from '../../services/variables';
@Component({
selector: 'login',
moduleId: module.id,
templateUrl: 'login.component.html',
styleUrls: ['login.component.css']
})
export class LoginComponent implements OnInit {
private saveUsername: boolean = true;
private autoLogin: boolean = true;
constructor(private router: Router, private variables: Variables) { }
ngOnInit() {
this.loginValid = false;
// Hole Usernamen aus Local Storage falls gespeichert werden soll
if (window.localStorage.getItem("username") === null) {
this.saveUsername = true;
this.autoLogin = true;
console.log(this.saveUsername, this.autoLogin);
} else {
console.log("init", window.localStorage.getItem("username"));
}
}
login(username: string, password: string, saveUsername: boolean, autoLogin: boolean) {
this.variables.setUsername(username);
this.variables.setPassword(password);
this.variables.setIsLoggedIn(true);
console.log(saveUsername, autoLogin);
//this.router.navigate(['dashboard']);
}
Если я щелкните флажок, я получаю правильное значение в контроллере (компонент).
Но если я изменяю значение, например, saveUsername
в компоненте, этот флажок не «получил» новое значение.
Так что я не могу манипулировать флажок из компонента (например, я хочу сделать в ngOnInit
в компоненте.
Спасибо за вашу помощь!
Если я это сделать, то я получаю сообщение об ошибке: Ошибка: Невозможно присвоить ссылку или переменной! – Junias
hm, я уже получаю эту ошибку: Unhandled Promise rejection: Невозможно назначить ссылку или переменную! ; Зона:; Задача: Promise.then; Значение: Ошибка: не может назначить ссылку или переменную! И как флажок знает, если он должен быть включен/выключен? В Angular 1 я мог бы сделать это вот так: '$ scope.loginData = {}; $ scope.loginData.username = window.localStorage.getItem ("username"); ' и это в шаблоне: ' Benutzername speichern ' –
Junias
не удалось удалить #saveUsername и повторить попытку. см. также plunker: http://embed.plnkr.co/ffkrDzon1L3ZANiuGFsp/ – hakany