Angular html绑定中大小写html属性转换

Angular html绑定中大小写html属性转换,angular,angular2-template,string-interpolation,template-literals,property-binding,Angular,Angular2 Template,String Interpolation,Template Literals,Property Binding,在我的组件中,我有一个模板文本字符串,其中包含一个带有camelCase属性的HTML标记: htmlString=`; 此字符串作为数组forEach循环中对象的属性进行组装 出于模板中的几个原因,我需要在*ngFor循环中的innerHtml属性中输出此内容: “foo.htmlString”> (这是我的实现的简化代码示例。) 我发现在输出中,svgIcon属性以小写形式呈现,请参见DOM inspector输出: Bug还是特性?找不到有关此行为的任何信息。谢谢你的提示 属性实

在我的组件中,我有一个模板文本字符串,其中包含一个带有camelCase属性的HTML标记:

htmlString=`;
此字符串作为数组forEach循环中对象的属性进行组装

出于模板中的几个原因,我需要在*ngFor循环中的innerHtml属性中输出此内容:

“foo.htmlString”>
(这是我的实现的简化代码示例。)

我发现在输出中,
svgIcon
属性以小写形式呈现,请参见DOM inspector输出:




Bug还是特性?找不到有关此行为的任何信息。谢谢你的提示

属性实际上都是通过Angular转换成小写的,不用担心

另外,您作为副作用提出的观点很有趣,可能需要一些解释:您使用带有角度组件的
innerHtml
mat icon
,它不是标准的HTML标记)

因此,无论如何,它都会失败:web浏览器不知道如何呈现
mat图标

要呈现
mat图标
,它必须通过Angular模板引擎:Angular将看到
mat图标
,并将拉动组件定义/模板,并以浏览器可以理解的HTML术语(DOM)呈现

通常情况下,您应该使用:




如果您的组件更复杂,您可以探索使用内容投影与
ng content

您意识到这无论如何都不会起作用,对吗?我已经更新了描述。工作正常,innerHtml内容被正确地放入DOM中。感谢他的解释!同时我发现,由于复杂性降低,我不需要做字符串插值的事情,只需在模板中用文本按常规方式进行:)