目前,我在看这个入门教程视频的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-前缀吗?
Cod*_*rer 401
好问题.区别很简单 - 两者之间绝对没有区别,除了某些HTML5验证器会在类似的属性上抛出错误ng-app,但它们不会为任何带前缀的东西抛出错误data-,例如data-ng-app.
因此,要回答您的问题,请使用,data-ng-app如果您希望验证HTML更容易一些.
有趣的事实:你也可以使用x-ng-app相同的效果.
小智 63
Angular规范化元素的标记和属性名称,以确定哪些元素与哪些指令匹配.我们通常通过其区分大小写的camelCase规范化名称(例如ngModel)来引用指令.但是,由于HTML不区分大小写,我们通过小写形式引用DOM中的指令,通常使用DOM元素上的划线分隔属性(例如ng-model).
规范化过程如下:
从元素/属性的前面剥离x-和数据.将:, - 或_分隔的名称转换为camelCase.以下是与ngBind匹配的元素的一些等效示例:
基于以上陈述,所有都是有效的指令
1. ng-bind
2. ng:bind
3. ng_bind
4. data-ng-bind
5. x-ng-bind
Edd*_*ddy 13
ng-model并且data-ng-model是相同的!
原因: data-前缀
HTML5规范要求任何自定义属性都有前缀data-.
原因:这两个ng-model和data-ng-model是相同的,等价的.
AngularJS文档 - 规范化
角度规范化元素的标记和属性名称,以确定哪些元素与哪些指令匹配.我们通常通过其区分大小写的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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79129 次 |
| 最近记录: |