【问题标题】:ng-app V/S data-ng-app in AngularJSAngularJS 中的 ng-app V/S 数据-ng-app
【发布时间】:2014-02-02 07:55:03
【问题描述】:

在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>

【问题讨论】:

标签: angularjs angularjs-directive bootstrapping


【解决方案1】:

ng-app 不是严格有效的 html。 自定义属性应以 data- 为前缀才有效。

所以 Angular 添加了这个语法,所以用户仍然可以拥有有效的 html。 (Knockout 也使用 data- 属性。) 功能上绝对没有区别。

来源: w3.org - custom data attributes

【讨论】:

    【解决方案2】:

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

    注意:x-ng-app 也有同样的属性。你也可以使用 x-ng-app 来代替 data-ng-app。

    【讨论】:

      【解决方案3】:

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

      这是官方documentation引用的内容:

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

      希望能回答您的问题。

      干杯!

      【讨论】:

        【解决方案4】:

        查看答案:

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

        关于 html5 验证的唯一区别

        【讨论】:

          猜你喜欢
          • 2012-10-22
          • 2016-09-07
          • 1970-01-01
          • 2013-09-05
          • 2013-04-17
          • 2013-05-11
          相关资源
          最近更新 更多