Soy bastante nuevo en Angular2 y tengo un pequeño problema:
En mi HTML de componente de inicio de sesión, tengo dos casillas de verificación, que deseo vincular de forma bidireccional el enlace de datos con el tipo de componente Componente de inicio de sesión.
Este es el HTML:
<div class="checkbox">
<label>
<input #saveUsername [(ngModel)]="saveUsername.selected" type="checkbox" data-toggle="toggle">Save username
</label>
</div>
Y este es el 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;
// Get user name from local storage if you want to save
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']);
}
Si hago clic en una casilla de verificación, obtengo el valor correcto en el controlador (componente).
Pero si cambio el valor de, por ejemplo, saveUsername
en el componente, la casilla de verificación no "obtiene" el nuevo valor.
Así que no puedo manipular la casilla de verificación del Componente (como quiero hacer ngOnInit
en el componente.
¡Gracias por tu ayuda!