W3C HTML 验证器中的 Angular2 语法

Angular2 syntax in W3C HTML Validator

Angular 1.x 允许在 HTML 中放置元素,而 W3C HTML Validator 是未知的。解决方法是添加 data- 前缀并编写例如data-ng-repeat 而不是 ng-repeat.

在当前的 Angular 2 版本中,我们有不同的语法。此语法也区分大小写,例如我们必须使用 ngClass,而不是 ngclass

Angular2 中使用的所有括号导致 HTML 验证错误。幸运的是,还有一个规范形式,所以我们可以使用 on-event 而不是 (event),而不是 [property] 我们可以使用 bind-property 而不是 [(ngModel)]我们可以使用 bindon-ngModel。所有这些都使用 data- 前缀。

但是像 *ngFor*ngIf*ngSwitch 这样的指令呢?模板变量 #variable 有什么用?您是否知道任何解决方法可以使 Angular 2 模板与这些东西成为 W3C 验证器中的有效 HTML?

您必须使用规范形式。 * 用于可与 <template> 标记一起使用的结构指令。使用 * 模板是隐式的,但您始终可以使用显式模板标记来代替上面列出的绑定的规范形式。

参见 https://angular.io/docs/ts/latest/guide/template-syntax.html

中的 * and <template>