为什么要用AngularJS
在学习一门技术之前,总得清楚这个技术解决了什么问题,也即它产生的背景和应用的市场。就像Spring这么火的框架,我觉得它的IOC和AOP是一个非常不错的理念,提出了依赖注入(解决对象依赖关系的管理)和面向切面编程(更小的代理使用于方法上)。
我记得自己在学习WEB编程时,前端用的是Jquery,使用Jquery一般而言还是比较简单的,至少在应用的时候,太高深的javascript研究我不太会,毕竟作为后台开发人员来讲,会用Jquery就ok了。使用Jquery有一套思路:
1)获取DOM元素($(#xxx));
2)绑定事件,$("#xxx").bind("click",function(){});
3)DOM元素修改(val(),html())。
上面的模型基本上就是;元素-->事件-->Ajax请求返回数据-->元素更新。
只要你使用Jquery,上面的步骤基本是相同,代码的复用程序不高,就算有很多的插件,你还是要写相同一大堆的东西。而AngularJS提出了另一种不同的前端架构思想:MVC。
是的,MVC不止用在后端,它也应用在前端。在使用AngularJS时,请忘记之前Jquery的使用方法。其实这种思想是这样的:
1)关注整个功能设计,而不是一上来就考虑页面的设计,再绑定事件等等(Jquery的套路);
2)分解任务,V表示的是页面,它只会用最简单的形式来写页面;M表示的是模型,模型的数据往往会从服务端获取,一般走Http请求;C表示的控制器,它连接V和M,AngularJS有一个很好的功能就是双向绑定,绑定元素的改变会立即反映到页面上。
总体来讲,知道了AngularJS的思想之后,再写几个例子来练习一下,基本会明白它的概念和思想以及用法,重点的是要转换之前Jquery的用法。