Angular 1.x允许在HTML中放置元素,这些元素不为W3C HTML Validator所知。解决方法是添加data-
前缀并写入例如data-ng-repeat
代替ng-repeat
。
在当前的Angular 2版本中,我们有不同的语法。该语法也区分大小写,例如我们必须使用ngClass
,而不是ngclass
。
Angular2中使用的所有括号都会导致HTML验证错误。幸运的是,还有一个规范形式,因此我们可以使用(event)
而不是on-event
来代替[property]
而不是bind-property
,而不是[(ngModel)]
而不是bindon-ngModel
我们可以使用data-
。所有这些都适用于*ngFor
前缀。
但是*ngIf
,*ngSwitch
和#variable
这样的指令呢?什么是模板变量ActiveRecord::Base
?你知道任何解决方法,以便在W3C Validator中使用有效的HTML制作Angular 2模板吗?
答案 0 :(得分:3)
您必须使用规范表单。 *
适用于可与<template>
标记一起使用的结构指令。使用*
模板是隐式的,但您可以始终使用显式模板标记,并使用上面列出的绑定的规范形式。
请参阅https://angular.io/docs/ts/latest/guide/template-syntax.html
中的* and <template>