是什么NG-应用程序和数据-NG-应用之间的区别?(What is the difference b

2019-09-01 00:45发布

我已经开始了解AngularJS和感到困惑的差异是什么之间ng-appdata-ng-app的指令。

Answer 1:

大多数这些问题的答案都只是说品牌模板有效的HTML,HTML验证合规 ,没有解释什么是那些术语的意思是,无论是。

我不知道是肯定的,但我猜,这些条款适用于扫描为符合标准的HTML代码验证程序 - 有点像皮棉。 他们不承认ng-app作为一个有效的属性。 他们希望非默认HTML属性要与开头

data-attribute_name_here

所以,创作者AngularJS已经创建了自己的指令,它们包括备用名称data-在他们面前,使HTML验证程序会“喜欢”他们。



Answer 2:

无在运行时的行为而言,这些都只是不同的风格命名指令如下所述: http://docs.angularjs.org/guide/directive

指令有骆驼套管的名称,如ngBind。 该指令可以通过这些特殊字符翻译驼峰名字变成蛇的情况下被调用:, - 或_。 可选的指令可以以x-作为前缀,或数据,使其HTML验证标准。 下面是一些可能的指令名称的列表:NG:绑定,NG绑定,ng_bind,X-NG-绑定和数据-NG-绑定。

你可以从阅读本的看data-可以用来使你的HTML通过HTML验证测试/



Answer 3:

可以声明角命名空间<html xmlns:ng="http://angularjs.org" ng-app>



Answer 4:

在现代浏览器没有区别,但在旧的IE的,除非你声明定义它的XML命名空间,他们将无法正常工作。

还有在验证差ng-app是无效的XHTML,并会导致您的网页失败HTML验证。 角允许您使用前缀其指令data-x-允许它来验证。



Answer 5:

您可以使用数据NG-,而不是NG-,如果你想使你的网页的HTML有效。
抛出一个错误

<div ng-app="">

  <p>Input something in the input box:</p>
  <p>Name: <input type="text" ng-model="name"></p>
  <p ng-bind="name"></p>

</div>

不会引发错误

<div data-ng-app="scope" data-ng-init="name='test'">

  <p>Input something in the input box:</p>
  <p>Name: <input type="text" data-ng-model="name"></p>
  <p data-ng-bind="name"></p>

</div>


Answer 6:

这两个术语之间的基本区别在于,数据-NG-应用验证HTML而后者don't.Functionality保持相同。 欲了解更多的参考,你可以尝试w3Validator。



Answer 7:

当然还有两者之间没有什么区别,只是某些HTML5验证将抛出像NG-应用属性的错误,但他们不抛出异常的任何与数据 - 前缀,如数据-NG-应用。 因此,使用数据 - 前缀与我们的角度指令是好的。

甚至你可以利用的角度指令在结合绑定下面提到的方法,ng_bind,数据绑定,X结合



文章来源: What is the difference between ng-app and data-ng-app?