Angularjs
2016-12-01 21:57
225 查看
AngularJS是什么?
AngularJS是一个开源Web应用程序框架。它最初是由MISKO Hevery和Adam Abrons于2009年开发。现在是由谷歌维护。它的最新版本是1.3.14。特性
AngularJS是一个功能强大的基于JavaScript开发框架用于创建富互联网应用(RIA)。AngulajJS为开发者提供的选项(使用JavaScript)在一个干净的MVC(模型 - 视图 - 控制器)的方式来编写客户端应用程序。
AngularJS写的应用都是跨浏览器兼容。AngularJS使用JavaScript代码自动处理适应每种浏览器。
AngularJS是开源的,完全免费的,并且由数千名世界各地的开发者开发维护。它是根据Apache许可证2.0版许可发布。
总体来说,AngularJS是一个用来构建大型应用,高性能的Web应用程序的框架,同时使它们易于维护。
核心特征
以下是AngularJS中最重要的核心功能:数据绑定: 模型和视图组件之间的数据自动同步。
适用范围: 这些对象参考模型。它们充当控制器和视图之间的胶水。
控制器: 这些Javascript函数绑定到特定的范围。
服务: AngularJS配有多个内置服务,例如 $http 可作为一个XMLHttpRequest请求。这些单一对象在应用程序只实例化一次。
过滤器: 从一个数组的条目中选择一个子集,并返回一个新的数组。
指令: 指令是关于DOM元素标记(如元素,属性,CSS等等)。这些可以被用来创建作为新的,自定义部件的自定义HTML标签。AngularJS设有内置指令(如:ngBind,ngModel...)
模板:这些符合从控制器和模型信息的呈现的视图。这些可以是单个文件(如index.html),或使用“谐音”在一个页面多个视图。
路由: 它是切换视图的概念。
模型视图: MVC是一个设计模式将应用划分为不同的部分(称为模型,视图和控制器),每个都有不同的职责。 AngularJS并没有传统意义上的实现MVC,而是更接近于MVVM(模型 - 视图 - 视图模型)。 AngularJS团队将它作为模型视图。
深层链接: 深层链接,可以使应用程序状态进行编码在URL中而能够添加到书签。应用程序可从URL恢复到相同的状态。
依赖注入: AngularJS有一个内置的依赖注入子系统,开发人员通过使应用程序从而更易于开发,理解和测试。
AngularJS的优点
AngularJS提供一个非常干净和维护的方式来创造单页的应用。AngularJS提供数据绑定功能在HTML中,从而给用户提供丰富和响应的体验
AngularJS代码可进行单元测试。
AngularJS使用依赖注入和利用关注点分离。
AngularJS提供了可重用的组件。
使用AngularJS,开发人员编写更少的代码,并获得更多的功能。
在AngularJS中,视图都是纯HTML页面,并用JavaScript编写控制器做业务处理。
AngularJS应用程序可以在所有主要的浏览器和智能手机,包括Android和iOS系统的手机/平板电脑上运行。
AngulaJS的缺点
虽然AngularJS自带很多优点,但我们应该考虑以下几点(缺点):不安全:因为只是JavaScript一种框架,由AngularJS编写的应用程序是不安全的。服务器端身份验证和授权是必须用来保证应用程序的安全。
不可降解:如果应用程序的用户禁用JavaScript,那最后用户看到的只是基本页面,仅此而已。
相关文章推荐
- AngularJS开发指南-Animations
- AngularJS 世界------Angularjs和Javascript以及表达式相关内容
- AngularJS动态菜单操作指令
- Angularjs My97 WdatePicker 日期控件 无法绑定
- [置顶] 跟我学AngularJs:Directive指令用法解读(下)
- Angularjs 初级 简单介绍
- AngularJS 指令实践
- AngularJS实现textarea记录只能输入规定数量的字符并显示
- 新手老手一起来!AngularJS 第二讲-深入基本语法
- angularjs 教程6
- angularjs 动态生成多个checkboxs,但只能选择一个
- AngularJs创建自定义Service
- AngularJS:一行JS代码实现控件验证效果
- AngularJS中插入HTML片段
- AngularJs 组件化
- AngularJS学习地址
- AngularJs入门
- angularJS 组件及内置过滤器
- Angular系列----AngularJS入门教程01:AngularJS模板 (转载)
- AngularJS 中的 factory、 service 和 provider区别,简单易懂