我正在学习AngularJS并看到它添加了一些自己的属性,也没有从数据开始,也不是标准的html标签属性,如下所示:
<html ng-app>
Run Code Online (Sandbox Code Playgroud)
或这个:
<body ng-controller="PhoneListCtrl">
Run Code Online (Sandbox Code Playgroud)
这些ng-*属性来自哪里,是一个有效的HTML?我在哪里可以阅读更多相关信息?
Ale*_*r R 51
严格地说,这些额外的属性没有在HTML规范中定义,因此不是有效的HTML.您可以说AngularJS提供并解析HTML规范的超集.
但是,从v1.0.0rc1开始,您可以使用data-*属性,例如<html data-ng-app>,我相信这些属性是有效的HTML5.来源.
AngularJS编译器有一个指南,其中包含有关该过程的更多信息.简而言之; AngularJS编译器读取您的HTML页面,使用这些属性来指导它,因为它在加载后通过javascript和HTML DOM编辑和更新页面.
GFo*_*y83 27
来自文档:http://docs.angularjs.org/guide/directive
<!doctype html>
<html data-ng-app>
<head>
<script src="http://code.angularjs.org/1.0.7/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div data-ng-controller="Ctrl1">
These are all valid directive declarations:<br/>
<input ng-model='name'> <hr/>
<span ng:bind="name"></span> <br/>
<span ng_bind="name"></span> <br/>
<span ng-bind="name"></span> <br/>
<span x-ng-bind="name"></span> <br/>
<span data-ng-bind="name"></span> <br/>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我最喜欢这个data-*whatever*声明,因为它符合HTML5标准.
因此,对于我的任何角度声明(例如ng-controller,ng-app,ng-repeat等)或自定义指令和我永远前缀他们data-.
| 归档时间: |
|
| 查看次数: |
33732 次 |
| 最近记录: |