Page 23 - AngularJS权威教程
P. 23
1.3 AngularJS 是什么 3
依赖注入; 1
浏览历史(使书签和前进、后退按钮能够像在普通Web应用中一样工作);
测试;
更多功能。 2
1.3.1 AngularJS有什么不同 3
在其他JavaScript框架中,我们被迫从自定义的JavaScript对象中进行扩展,并从外到内操作
①
DOM。以jQuery 为例,为了在DOM中插入一个按钮元素,我们必须知道要把元素放到何处,并 4
在合适的位置插入它:
5
var btn = $("<button>Hi</button>");
btn.on('click', function(evt) { console.log("Clicked button"); });
$("#checkoutHolder").append(btn);
6
尽管这个过程并不复杂,但是它要求开发者对整个DOM结构都有所了解,并强迫我们在
JavaScript代码中加入复杂的控制逻辑,用以操作外部DOM。
7
而AngularJS则通过原生的Model-View-Controller(MVC,模型视图控制器)功能增强了
HTML。结果表明,这个选择可以快捷和愉悦地构建出令人印象深刻并且极富表现力的客户端 8
应用。
利用它,开发者可将页面的一部分封装为一个应用,并且不强迫整个页面都使用AngularJS进 9
行开发。这个特质在某些情况下非常有用,比如你的工作流程中已经包含了另外一个框架,或者你
只希望页面中的某一部分是动态的,而剩下的部分是静态的或者是由其他JavaScript框架来控制的。
10
此外,AngularJS团队非常重视框架文件压缩后的大小,这样使用它就不会付出太多的额外
代价(写作本书时,文件压缩后的体积在90 KB左右)。这一特性使得AngularJS非常适合用于开
发功能原型。 11
1.3.2 许可 12
②
AngularJS的源码托管在GitHub 上,可以免费获取。它基于MIT许可发布,这意味着你可以 13
为AngularJS贡献代码,使其变得更加优秀。
为了促进大家为AngularJS贡献代码,开发团队把开发流程变得相对开放。任何重大变化都 14
③
需要在AngularJS的邮件列表上 进行讨论,所有人都可以加入讨论,这样一来大家就可以对潜在
的变动进行改进,并且防止重复劳动。
15
关于贡献代码的更多内容可以在AngularJS的官网中查看“贡献代码”部分 。
④
16
—————————— 17
① http://jquery.com/
② http://github.com
③ https://groups.google.com/forum/?hl=en#!forum/angular 18
④ http://docs.angularjs.org/misc/contribute