javascript - 更改事件未触发
问题描述
我正在开发一个小型 Angular 应用程序,当我的页面加载时,我想从我的 select2 下拉列表中检索一个值。这是我的代码:
ngAfterViewInit(): void {
console.log("this happen?");
if (this._globals.isAdmin === false) {
console.log("first condition is executed cuz logged in user is not admin?")
$('#selected-user').val(this.person[0].id).trigger('change');
}
else {
$('#selected-user').val(this.helper.emptyGuid()).trigger('change');
}
// This is not executed
$('#selected-user').on(
'change',
(e) => {
this.searchQuery.personId = $(e.target).val().toString();
console.log("This is not executed when page loads:", this.searchQuery.personId);
});
}
以下是 console.log 的结果:
正如你所看到的,即使我$('#selected-user').val(this.person[0].id).trigger('change');
在第一个条件下设置它也没有执行。怎么来的?
解决方案
如果您使用 Angular,为什么不使用 ng-change。尝试遵循标准。如果您正在创建 Angular 应用程序,请尝试仅使用 Angular 的所有功能。
推荐阅读
- javascript - JavaScript:替换网页上的(全部)某些单词
- c - 如何在 C 中使用 memset 为 Struct 成员设置随机数量的随机小写字符
- html - 如何使用 Markdown 使文本居中?
- c++ - 将两个二维数组放入文本文件
- android - 我们如何在布局中剪切出地图对象?
- angular - Angular 如何实现嵌套解析器
- javascript - 渲染反应组件时我应该如何摆脱 3 秒的延迟?
- c++ - 我在 C++ 中遇到了一些关于 boost json 的问题
- scala - Scala:给定多个字符串,使用 if 语句查找给定字符串是否在集合 1,2 中,或者没有
- awk - 从另一个文件替换一个文件中模式之间的列