我想知道为什么 Polymer 元素需要在自定义元素名称中使用破折号,例如 <my-component>
而这对于 Angular 组件来说不是必需的,尤其是因为 Angular 组件也使用 ShadowDOM。
** 编辑**
在 Angular 中,它甚至似乎都不是建议的好习惯。
最佳答案
HTML 规范允许您使用未知标签( <tab>
、 <panel>
),而 HTML 解析器不会出错。为了他们的利益,Angular 在他们的指令中使用这种行为来使组件像原生一样。
没有 -
的标签继承自 HTMLUnknownElement
.这里对升级过程有很好的解释:HTML5Rocks - Custom Elements - How elements are upgraded
由于 Angular 指令是在自定义元素规范存在之前设计的,因此它们不使用 -
.这是要求元素名称包含 -
的标准。 .
关于dart - 为什么 Angular 不需要组件名称中的破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21182259/