请问angular 在组件内怎么获取使用DOM元素?
angular小白,使用angular开发product组件, 想对在该组件的input使用RXJS的debounceTime 延迟来实现用户输入结束延迟400ms更新。
fromEvent(inputNode, 'valueChanges').pipe(
debounceTime(400)
)
.subscribe((val) => {
console.log(val);
// this.keyword = val;
});
.html
.ts
结果
请问我该如何获取该对应的DOM元素 并使用它。难道要用事件的方法 event.target ??
首先使用
ElementRef
的方法是可行的,但是代码有一些问题。constructor()
中是获取不到DOM元素的,所以打出来的结果都是null
。fromEvent
方法的事件参数不对。这个应该是DOM本身的事件,你可以尝试使用input
事件。下面是我运行成功的一个例子:
更多的讨论,可以参考这里:https://stackoverflow.com/que...
其实这种方法已经不被Angular推荐了,参考文档:https://angular.io/api/core/E...