Saya cukup baru di Angular2 dan saya punya sedikit masalah:
Di Login-Komponen-HTML saya, saya memiliki dua kotak centang, yang ingin saya ikat dalam dua cara pengikatan data ke Login-Komponen-TypeScript.
Ini adalah HTML:
<div class="checkbox">
<label>
<input #saveUsername [(ngModel)]="saveUsername.selected" type="checkbox" data-toggle="toggle">Save username
</label>
</div>
Dan ini adalah 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']);
}
Jika saya mengklik kotak centang, saya mendapatkan nilai yang benar di controller (komponen).
Tetapi jika saya mengubah nilai misalnya saveUsername
dalam komponen, kotak centang tidak "mendapatkan" nilai baru.
Jadi saya tidak bisa memanipulasi kotak centang dari Komponen (seperti yang ingin saya lakukan di ngOnInit
dalam komponen.
Terima kasih atas bantuan Anda!