嗨,我对打字稿和javascript非常陌生,所以如果这很简单,我很抱歉。 如果我在功能中控制过滤器它是正确的但在该功能之外它没有被分配。我知道这是一个范围问题,我不知道为什么或如何解决。
var filter: string;
input.addEventListener("keydown", (e) => {
const target: any = e.target;
const filterString = target.value;
filter = filterString;
console.log(filter); // text from input block
});
console.log(filter); // nothing output
答案 0 :(得分:2)
根据您的代码:
var filter: string;
input.addEventListener("keydown", (e) => {
const target: any = e.target;
const filterString = target.value;
filter = filterString;
console.log(filter); // text from input block
});
console.log(filter); // nothing output
当代码在事件filter
发生之前运行时, keydown
为null,因此最后一行的日志实际上正在工作,它输出为null。
尝试在事件发生后记录过滤器,查看promise