Angular:模板组件区分大小写

时间:2018-03-09 16:00:09

标签: html html5 angular dom

这是来自之前帖子的后续问题。在this post我遇到了一个问题,我无法从<select>元素中获取值。解决方案结果令人尴尬简单。在Angular模板中使用小写<select>而不是大写<SELECT>

enter image description here

我们都知道HTML不区分大小写,这引出了我的问题。当元素为<SELECT>时,为什么我无法获取select的值,是角度模板区分大小写?

当我检查DOM中的元素时,无论我使用的是<SELECT>还是<select>元素总是以小写形式呈现。从我的理解中预期标准的浏览器行为。这进一步导致我怀疑我所经历的行为是Angular正在做的事情的结果。

我在互联网上试图找到解释,但一直无法找到解释。在询问原始问题后,用户JBNizet几乎立即能够在HTML中指出我的错误。正是这种洞察力和对HTML模板与Angular之间关系的理解我正试图获得。

1 个答案:

答案 0 :(得分:1)

  

模板组件区分大小写吗?

是的,模板在Angular中区分大小写。例如,您必须编写ngIf,以便触发将其解析为带有选择器[ngIf]的指令。 ngifNGIF不起作用。

使用SELECT可以正常工作而不会出现问题。罪魁祸首是select元素的控制值访问器,其选择器指定为select[formControlName],与<SELECT formControlName=foo>不匹配。