为了账号安全,请及时绑定邮箱和手机立即绑定

ng-app与data-ng-app有什么区别?

ng-app与data-ng-app有什么区别?

qq_笑_17 2019-11-07 10:48:04
目前,我在看这个入门教程视频的angular.js在某一时刻(后12'40" ),扬声器指出的属性ng-app和data-ng-app=""是内部或多于或少于<html>标签等都是ng-model="my_data_binding和data-ng-model="my_data_binding"。但是发言者说,HTML代码将通过不同的验证验证,这取决于哪个属性用过的。您能解释一下ng-前缀和data-ng-前缀这两种方式之间的区别吗?
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

好问题。区别很简单-两者之间绝对没有区别,只是某些HTML5验证程序会对属性like抛出错误ng-app,但对于data-诸如前缀的东西则不会抛出错误data-ng-app。


因此,要回答您的问题,请使用data-ng-app是否希望验证HTML更加简单。


有趣的事实:您也可以使用x-ng-app达到相同的效果。


查看完整回答
反对 回复 2019-11-07
?
料青山看我应如是

TA贡献1772条经验 获得超7个赞

简短答案:

ng-model并data-ng-model相同!


为什么?

原因: data-前缀

HTML5规范要求任何自定义属性都以作为前缀data-。


原因:这两个ng-model和data-ng-model相同和等同的。


AngularJS文档-规范化


Angular对元素的标签和属性名称进行规范化,以确定哪些元素与哪些指令匹配。我们通常通过区分大小写的camelCase标准化名称(例如ngModel)来引用指令。但是,由于HTML不区分大小写,因此我们以小写形式引用DOM中的指令,通常在DOM元素(例如)上使用破折号分隔的属性ng-model。


规范化过程如下:

1.剥离x-并data-从元素/属性的前面开始。

2.转换的:,-或_-delimited名camelCase。


例如

以下形式都是等效的,并且与ngBind指令匹配:


<div ng-controller="Controller">

  Hello <input ng-model='name'> <hr/>

  <span ng-bind="name"></span> <br/>

  <span ng:bind="name"></span> <br/>

  <span ng_bind="name"></span> <br/>

  <span data-ng-bind="name"></span> <br/>

  <span x-ng-bind="name"></span> <br/>

</div>


查看完整回答
反对 回复 2019-11-07
  • 3 回答
  • 0 关注
  • 950 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信