我正在使用Angular进行密码强度检查打字稿代码。一切都很好,除了"推"无法显示消息。如果我使用" =",那么工作正常,例如" this.message =' Hello'"。但是我在使用" this.messages.push(' xxxx')"时无法弄清楚,它没有显示任何内容。有人请帮忙吗?
以下是我的ts代码的一部分:
export class PasswordComponent implements OnInit {
password = '';
message = 'Your message goes here';
messages: string[] = ["Hello"];
constructor() { }
checkPassword(password: string) {
let pw:string = this.password;
this.c_length();
this.c_numberCnt();
}
c_length(): void {
if ( this.password.length <= 1) {
this.messages.push('The length of the password is too short');
}
}
c_numberCnt(): void {
let test;
let regex = /\d/g;
test=regex.test(this.password);
if (!test) {
this.messages.push('At lease one number');
}
}
c_metaCnt(): void {
let tt:boolean;
tt = !/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(this.password);
if (!tt) {
this.messages.push('At lease one special character');
}
}
c_upperCnt(): void {
if (this.password.toLowerCase()==this.password) {
this.messages.push('At lease one Uppercase');
}
}
c_lowerCnt(): void {
if (this.password.toUpperCase()==this.password) {
this.messages.push('At lease one lowercase');
}
}
resetPassword() {
this.password = '';
}
}
答案 0 :(得分:2)
因为 messages
是一个数组,所以你需要使用ngFor迭代colleciton,所以在你的模板中使用它如下
<ul>
<li *ngFor="let messageObj of messages">
{{ messageObj }}
</li>
</ul>