我倾向于Angular Js。我发现许多作者使用ng-init,许多作者使用data-ng-init。我试图搜索差异,但无法得到适当的答案。如果有人知道他们之间的区别,请分享您的答案。
谢谢!
答案 0 :(得分:10)
有趣的问题。来自W3schools:
如果您想制作页面,可以使用数据ng-而不是ng- HTML有效。
HTML Validators将使用ng-init
之类的属性抛出错误,但如果我们为data-
提供前缀(例如:data-ng-init
),则HTML Validators会接受它并且它将有效。
您可以在此处阅读更多详细信息:https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#embedding-custom-non-visible-data-with-the-data-attributes
注意:data-*
属性是扩展HTML的方式。
答案 1 :(得分:6)
data-ng-init是HTML5验证代码,其中ng-init在HTML5方面不是有效代码。这适用于所有角度指令。
答案 2 :(得分:1)
理想情况下,两者在功能方面没有区别,只有验证。
在HTML5开始之后,像Visual Studio这样的代码编辑器突出显示了' ng - ',这是无效的。但实际上它是有效的,所以有一种方法可以让代码编辑器通过在前面添加' data-ng - *'来了解AngularJS的属性是有效的。
因此,当在任何HTML5代码编辑器中使用前缀时,它不会强调属性并将它们视为有效。
这是数据的最初目的 - *'前缀。
答案 3 :(得分:0)
HTML5验证器会在ng-app上引发错误。当我们使用data-作为前缀时,它只是忽略抛出错误