pra*_*olu 1 javascript typescript angular
这是代码:
ngOnInit() {
const navSlide = () => {
const burger = document.querySelector('.burger');
const nav = document.querySelector('.nav-links');
const navLinks = document.querySelectorAll('.nav-links li');
burger.addEventListener('click', () => {
nav.classList.toggle('nav-active');
});
navLinks.forEach((link, index) => {
link.style.animation = `navLinkFade 0.5s ease forwards ${index / 7 + 0.3}s`;
});
};
navSlide();
Run Code Online (Sandbox Code Playgroud)
}
编译时出现错误:
Property 'style' does not exist on type 'Element'.ts(2339)
Run Code Online (Sandbox Code Playgroud)
我该如何修复它?
T.J*_*der 10
querySelectorAll返回NodeList已知包含Elements,但不明确包含HTMLElements。在您的情况下,您知道这些是HTMLElements(特别是HTMLLIElements),因此您可以使用类型断言来表示:
navLinks.forEach((link, index) => {
(link as HTMLElement).style.animation = `navLinkFade 0.5s ease forwards ${index / 7 + 0.3}s`;
});
Run Code Online (Sandbox Code Playgroud)
但请参阅Mike S. 的评论- 我不使用 Angular,但听起来这里有一个更特定于 Angular 的解决方案。
| 归档时间: |
|
| 查看次数: |
8404 次 |
| 最近记录: |