AngularJS中的ng-app V / S数据-ng-app

时间:2014-01-14 09:55:02

标签: angularjs angularjs-directive bootstrapping

在AngularJS中使用ng-app时:文档中找到的ng-app将用于定义作为应用程序自动引导的根元素。

在某些应用程序中,它被用作data-ng-app

以下两个声明是否有任何区别,如果是,那么&如果否,那么哪一个是重要的,为什么?

1

 <body ng-app>
     <p>{{ 1 + 2 }}</p>
 </body>

2

 <body data-ng-app>
     <p>{{ 1 + 2 }}</p>
 </body>

4 个答案:

答案 0 :(得分:4)

两者都是相同的,除非您希望您的模板/代码符合HTML并遵循最佳实践。使用data-ng-app。

这是官方documentation引用的内容:

“最佳实践:首选使用划线分隔格式(例如ng-bind为ngBind)。如果您想使用HTML验证工具,您可以改为使用数据前缀版本(例如data-ng-bind for ngBind)。上面显示的其他表格因遗留原因而被接受,但我们建议您避免使用它们。“

希望能回答你的问题。

干杯!

答案 1 :(得分:3)

见答案:

ng-app vs. data-ng-app, what is the difference?

仅关于html5验证的差异

答案 2 :(得分:1)

ng-app不是严格有效的HTML。 自定义属性应以数据为前缀 - 有效。

因此angular添加了这种语法,因此用户仍然可以拥有有效的html。 (Knockout也使用数据属性。) 功能完全没有区别。

来源: w3.org - custom data attributes

答案 3 :(得分:0)

ng-app和data-ng-app两者彼此相似,它们之间的唯一区别是有时HTML验证器在使用ng-app时会显示错误。所以你可以使用data-ng-app。

注意:x-ng-app也具有相同的属性。您也可以使用x-ng-app而不是使用data-ng-app。