【问题标题】:Angular Js difference between ng-init and data-ng-initAngular Js ng-init 和 data-ng-init 的区别
【发布时间】:2016-07-01 20:27:37
【问题描述】:

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

谢谢!

【问题讨论】:

标签: angularjs


【解决方案1】:

HTML5 验证器会在 ng-app 上抛出错误。当我们使用 data- 作为前缀时,它只是忽略了 throw an error

【讨论】:

    【解决方案2】:

    理想情况下,两者在功能上没有区别,但只有验证。

    HTML5 诞生后,Visual Studio 等代码编辑器将“ng-”高亮显示为无效内容。但实际上它是有效的,所以有一种方法可以让代码编辑器理解 AngularJS 的属性是有效的,方法是在其前面加上 'data-ng-*'。

    因此,当使用前缀时,在任何 HTML5 代码编辑器中,它不会为属性添加下划线并将其视​​为有效。

    这是“data-*”前缀的最初用途。

    【讨论】:

      【解决方案3】:

      有趣的问题。来自W3schools:

      如果你想制作你的页面,你可以使用 data-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 的方式。

      【讨论】:

        【解决方案4】:

        data-ng-init 是 HTML5 验证代码,其中 ng-init 在 HTML5 方面无效。这适用于所有角度指令。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-28
          相关资源
          最近更新 更多