AngularJS 有哪些优缺点

JavaScript040

AngularJS 有哪些优缺点,第1张

AngularJS 在实际应用中优点:

模板功能强大丰富,并且是声明式的,自带了丰富的Angular指令;

是一个比较完善的前端MV*框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能;

自定义Directive,比jQuery插件还灵活,但是需要深入了解Directive的一些特性,简单的封装容易,复杂一点官方没有提供详细的介绍文档,可以通过阅读源代码来找到某些我们需要的东西;

ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮助,即使UI变化很大,而且产品更新迭代,但是js的代码基本上却很少改动。

补充:Angular支持单元测试和e2e-testing。

AngularJS 在实际应用中缺点:

验证功能错误信息显示比较薄弱,需要写很多模板标签,没有jQuery Validate方便,所以我们自己封装了验证的错误信息提示;

ngView只能有一个,不能嵌套多个视图,虽然有 angular-ui/ui-router · GitHub 解决,但是貌似ui-router 对于URL的控制不是很灵活,必须是嵌套式的;

对于特别复杂的应用场景,貌似性能有点问题,特别是在Windows下使用chrome浏览器;

这没有完美兼容低版本,升级之后可能会导致一个兼容性的BUG;

ng提倡在控制器里面不要有操作DOM的代码,对于一些jQuery 插件的使用,如果想不破坏代码的整洁性,需要写一些directive去封装插件,但是现在有很多插件的版本已经支持Angular了;

Angular 太笨重了,没有让用户选择一个轻量级的版本,;

使用的人多才会暴露更多的问题,一起为这些问题寻找解决方案是一个社区的良性趋势,选择Angular,的确使开发效率大大提高。

Angularjs的四大特性

view绑定到model,把视图中可以修改的HTML元素,即表单控件的值绑定到模型变量上。此后,只要用户修改了表单控件的值后,后台模型变量的值会立即随之改变

实现: 只有ngmodel指令可以,为了监视到Model变量真的被改变了可以使用$scope.$watch()函数对Model数据的值进行监视,

AngularJS的官方文档是这样介绍它的。

1、完全使用JavaScript编写的客户端技术。同其他历史悠久的Web技术(HTML、CSS和JavaScript)配合使用,使Web应用开发比以往更简单、更快捷。

2、AngularJS主要用于构建单页面Web应用。它通过增加开发人员和常见Web应用开发任务之间的抽象级别,使构建交互式的现代Web应用变得更加简单。

3、AngularJS的开发团队将其描述为一种构建动态Web应用的结构化框架。

4、AngularJS使开发Web应用变得非常简单,同时也降低了构建复杂应用的难度。它提供了开发者在现代Web应用中经常要用到的一系列高级功能,例如:

解耦应用逻辑、数据模型和视图;

Ajax服务;

依赖注入;

浏览历史(使书签和前进、后退按钮能够像在普通Web应用中一样工作);

测试;