【发布时间】:2020-08-07 16:41:01
【问题描述】:
我最近开始学习 Angular。我在使用 Angular 的网站中注意到的一件事是,输出的 HTML 包含诸如ng-version、_nghost-c0 和类似版本之类的属性,以及以ng- 开头的一些其他属性。我还注意到一些标签名称,例如<landingpagecarousel>。根据 w3c 规范,这些都不是有效的(自定义属性必须以 data- 开头,自定义标记名必须包含破折号)。
这仅仅是开发人员不太关心文档有效性的结果,还是实际上无法使用 Angular 输出有效的 HTML 文档?
当我自己构建一个小井字游戏作为第一个项目时,我认为标记名完全掌握在开发人员手中(是吗?)但是我觉得大多数与 Angular 相关的属性只是框架如何工作的一部分,我无法控制它们。是这样吗?
那么,是否有可能使用 Angular(即不是为了有效而为空的网站)创建一个输出有效 HTML 文档的网站?
我查看的其中一个网站的示例:https://developer.db.com/
【问题讨论】:
-
如果不是有效的角度将无法工作
-
这不是真的。许多网站不符合 HTML 规范,但它们仍然有效。但是,我将使用示例站点更新问题以进一步支持这一点。
-
“很多网站不符合 HTML 规范”?喜欢?如果您不遵守规范,那么您的网站将无法运行。还有哪些规格? There are multiple
-
w3c specs 准确定义了什么是有效的 HTML 文档,什么不是。像所有语言一样,它们有一套特定的规则来决定代码是否有效。 HTML 不仅仅是 XML。
-
自定义元素在 w3c 规范 w3.org/TR/dom41/#interface-element 中定义。在您提供的示例中,我没有看到任何无效的内容
标签: html angular specifications w3c