【发布时间】:2020-12-11 16:14:36
【问题描述】:
我正在使用 Angular 9 来解决这个问题。 已经有一个问题(7年前问过):
但这不是很有帮助。我检查了其他类似的问题:
Angular2 component's “this” is undefined when executing callback function
我想在输入字段上的每次击键时调用一个方法。
HTML
<input ... type="text" (input)="crossCheckUsername()" placeholder="Enter username">
打字稿
constructor(..., private _userService: UserService) {
// nothing here
}
ngOnInit() {
// nothing here
}
// users is defined properly; it is hard coded in the starting only
isUserExists(): boolean {
let userExists = false;
this.users.forEach(function (user) {
if(*some logic*) {
userExists=true;
}
else {
userExists=false;
}
})
return userExists;
}
crossCheckUsername() { // this method will be called on every key stroke
if(this.isUserExists()) {
console.log("Try a different username");
}
else {
//do nothing; keep typing
}
}
但是我每次击键都会得到这个:
请纠正我的错误。
【问题讨论】:
-
请检查您的用户对象,可能是属性不存在或属性未实例化您在用户循环中访问,否则函数看起来正常。
-
@user_mat, ya ya
users已定义。事实上,它是硬编码的。相信我:-)我也刚刚编辑了这个问题。请再检查一次。 -
我是说,你试图访问的属性,例如user.obj.Name,然后检查obj是否被实例化。
-
@user_mat,是的,它是 intaintiated。我也检查了控制台。价值观来了。我们可以打个Skype电话吗?我想给你看代码。
-
尽量避免将单词或短语放在标题中的括号中,就像问题已关闭或删除之类的一样,操作将在标题中的括号内。
标签: javascript angular