Angular 错误:";document.querySelector(…)为null“;
我被困在这里Angular 错误:";document.querySelector(…)为null“;,angular,typescript,Angular,Typescript,我被困在这里setTimeout(()=>document.querySelector('true').scrollIntoView() 我想在html[style.border]=“detailData.selected?”2.5px solid 35; FD8023“:“为真,滚动将在此处滚动。但结果是错误的 错误类型错误:“document.querySelector(…)为空” 希望有人能帮助我,谢谢 提前感谢。您没有正确的选择器,它应该是: 如果是课堂 setTimeout(() =&
setTimeout(()=>document.querySelector('true').scrollIntoView()代码>
我想在html[style.border]=“detailData.selected?”2.5px solid 35; FD8023“:“
为真,滚动将在此处滚动。但结果是错误的
错误类型错误:“document.querySelector(…)为空”
希望有人能帮助我,谢谢
提前感谢。您没有正确的选择器,它应该是:
如果是课堂
setTimeout(() => document.querySelector('.true').scrollIntoView());
如果它是id
setTimeout(() => document.querySelector('#true').scrollIntoView());
您可以阅读有关querySelector的更多信息
根据评论进行更新
@ViewChild('scrollableDiv') scrollableDiv: ElementRef;
setTimeout(() => {
this.scrollableDiv.nativeElement.scrollIntoView({ behavior: "smooth", block: "start" });
});
最好使用模板变量和角度来查找视图,如下所示:
<div #scrollableDiv [id]="detailData.key"></div>
您必须使用正确的语法(建议避免setTimeout
):
您还必须知道,scrollIntoView()
方法不是完全的交叉浏览器解决方案(超过一半的浏览器不支持使用此方法进行smooth
滚动)。更多详细信息:选择器不正确,如果它是class use。true
并且如果它是id use#true
谢谢您的回答。。。但是如果我的div中的id像这样[id]=“detailData.key”
我该怎么办。@Pravu那么你应该使用模板变量,我已经更新了答案。我得到了错误错误类型错误:“\u this.scrollableDiv.nativeElement未定义”
。。我该怎么办?谢谢你的回答。。。但是如果我的div中的id像这样[id]=“detailData.key”
我该怎么办。
document.querySelector(".myclass")
document.querySelector("div")
document.querySelector("#id")