Tôi rất mới với Angular2 và tôi có một vấn đề nhỏ:
Trong Đăng nhập-Thành phần-HTML, tôi có hai hộp kiểm, tôi muốn liên kết theo hai cách liên kết dữ liệu với Đăng nhập-Thành phần-TypeScript.
Đây là HTML:
<div class="checkbox">
<label>
<input #saveUsername [(ngModel)]="saveUsername.selected" type="checkbox" data-toggle="toggle">Save username
</label>
</div>
Và đây là Thành phần:
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']);
}
Nếu tôi nhấp vào một hộp kiểm, tôi nhận được giá trị chính xác trong bộ điều khiển (thành phần).
Nhưng nếu tôi thay đổi giá trị của ví dụ saveUsername
trong thành phần, hộp kiểm sẽ không "lấy" giá trị mới.
Vì vậy, tôi có thể thao túng hộp kiểm từ Thành phần (như tôi muốn làm trong ngOnInit
thành phần.
Cảm ơn bạn đã giúp đỡ!