ng-init和data-ng-init

时间:2016-03-16 05:37:01

标签: angularjs

我倾向于Angular Js。我发现许多作者使用ng-init,许多作者使用data-ng-init。我试图搜索差异,但无法得到适当的答案。如果有人知道他们之间的区别,请分享您的答案。

谢谢!

4 个答案:

答案 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-作为前缀时,它只是忽略抛出错误