这是来自之前帖子的后续问题。在this post我遇到了一个问题,我无法从<select>
元素中获取值。解决方案结果令人尴尬简单。在Angular模板中使用小写<select>
而不是大写<SELECT>
。
我们都知道HTML不区分大小写,这引出了我的问题。当元素为<SELECT>
时,为什么我无法获取select的值,是角度模板区分大小写?
当我检查DOM中的元素时,无论我使用的是<SELECT>
还是<select>
,元素总是以小写形式呈现。从我的理解中预期标准的浏览器行为。这进一步导致我怀疑我所经历的行为是Angular正在做的事情的结果。
我在互联网上试图找到解释,但一直无法找到解释。在询问原始问题后,用户JBNizet几乎立即能够在HTML中指出我的错误。正是这种洞察力和对HTML模板与Angular之间关系的理解我正试图获得。
答案 0 :(得分:1)
模板组件区分大小写吗?
是的,模板在Angular中区分大小写。例如,您必须编写ngIf
,以便触发将其解析为带有选择器[ngIf]
的指令。 ngif
或NGIF
不起作用。
使用SELECT
可以正常工作而不会出现问题。罪魁祸首是select元素的控制值访问器,其选择器指定为select[formControlName]
,与<SELECT formControlName=foo>
不匹配。