今天在这里分享分享我个人学习angular的知识点总结。在还没有接触到angular的时候,还真的不知道它到底有什么作用,直到我开始学习它,并且运用到它的时候,才知道angular这么强大。作为一个前端开发人员,我们要对新知识不断地学习,不断的充电,对待新知识不断地渴望,学习新技术是我们每一位程序员的必备功课,这样我们才不会被潮流淘汰掉。希望今后的日子里,能和各位博友和大神们在技术上共勉!
什么是angularJS?
它是一个用于设计动态web应用的结构框架,首先它是一个框架,不是像Query这样的什么类库,它与jQuery不同之处在于,前者致力于MVC代码解耦,采用的是model,controller以及view方式组织代码,而后者是给你提供了很多的APi函数。那么什么是动态web应用呢,官方的解释是扩展HTML添加动态特性,和传统的web系统不同的是,web应用能为用户提供丰富的操作,能够随用户操作不断更新视图而不进行url跳转,也就是我们所说的单页面应用程序 (Single Page Application),angular使得开发现代的单一页面应用程序变得更加容易,大家可以去看看网易音乐http://music.163.com/#,它其实就是一个单页面操作的。在这里我自己也写了一个页面,也是实现的是单页面的,托管到了Github上面了,大家有兴趣的话可以下载来看看:https://github.com/blackManbaZhu/doubanApp/tree/master
效果地址:https://blackmanbazhu.github.io/doubanApp/#/in_theaters
angularJS的特点特性:
1、MVC架构模式,然而,要说angularJS它是MVC模式,倒不如说它更像是MVVM模式,因为它采用了MVC的基本思想,而又不完全是MVC。让我们来看看MVC的概念:
M: model 模型
1、存储数据
V: view 视图
1、展现数据给用户
2、与用户交互
C: Controller 控制器 调度者
1、请求数据(ajax操作)
2、将数据存储到model中
3、将模型中的数据交给视图显示(通过$scope对象)
4、监视模型的变化,做出相应的动作
2、angular了里面还有一个就是双向数据绑定,通过双向数据绑定来消除DOM操作,在任何时候当模型改变时视图都会得到更新。
3、模块化与依赖注入,也就是代码模块化,每个模块的代码都独立拥有自己的作用域scope,模型model,控制器controller,然后每个模块之间可以相互依赖,这样大大的提高了代码的重用性和灵活性,它还有一个比较好的模式是,它可以把一些操作放到客户端去操作,服务端只提供数据来源,和其他客户端不能完成的操作,这样尽可能的减少服务端的负担。
实践:
接下来的话就让我们用实践去一步一步的去学习angular,我个人觉得写一些demo练习,比理解理论概念要学习的快一些,毕竟实践是检验真理的唯一标准。通过一些小demo,让我们更好的理解angularJS。在此,我申明一下,我写的博客并不是教程,只是在学习过程中的知识点总结,可能在其中有很多不足的地方,毕竟我的知识和理解能力也是有限的,希望大家能把不足指正出来,我们一起共同进步和学习。
在使用之前,我们需要下载angularJS,然后把它引入到我们的项目中:
官方下载地址:https://angularjs.org/
使用npm下载:打开命令窗口,输入命令npm install angular 直接下载到我们的项目中去。
首先让我们先来看看angularJS的基本写法:
先看代码,代码如下:

