Angular跳转注册组件失败:setAttribute报错';'非合法属性名求助
问题分析与修复方案
错误原因
这个报错的核心是HTML模板中存在非法属性名——某个属性名里包含了分号;,Angular的渲染器在尝试给DOM元素设置属性时,无法识别这种不符合规范的属性名,进而导致页面跳转失败。
排查与修复步骤
- 检查
signup.component.html里所有HTML元素的属性:- 重点排查属性名末尾是否多了分号,比如类似
[ngClass];="xxx"、disabled;这类错误写法 - 检查自定义属性、指令绑定的属性名,确认是否不小心混入了分号
- 重点排查属性名末尾是否多了分号,比如类似
- 找到带分号的非法属性名,删除多余的分号即可
报错信息
core.mjs:11809 ERROR DOMException: Failed to execute 'setAttribute' on 'Element': ';' is not a valid attribute name.
报错位置:EmulatedEncapsulationDomRenderer2.setAttribute
示例修复(假设模板存在如下错误)
错误代码:
<div class="container"; [formGroup]="signupForm"> <!-- 表单内容 --> </div>
修复后:
<div class="container" [formGroup]="signupForm"> <!-- 表单内容 --> </div>
内容的提问来源于stack exchange,提问作者swathi raju
相关产品推荐
相关产品推荐

