一、AngularJS优点
1.模板功能强大丰富
声明式的,自带丰富指令,双向绑定,减少代码量
2.比较完善的前端MVC框架
包含模板、数据双向绑定、路由,模块化,服务、过滤器、依赖注入等
3.引入了JAVA的一些概念
二、AngularJS问题
1.性能问题
双向数据绑定是双刃剑,随着组件的增加,双向数据绑定会带来性能问题,脏检查机制,在angularJS的作用域中,任何操作都会引发脏检查,绑定数量增加,性能越来越低;angular中废除脏检查,检查机制重写,默认绑定方式从双向绑定改为单向绑定。
2.简单的路由功能
ngView只能有一个,不能嵌套多个视图,UI router对于url的控制也不是很灵活;angular路由是核心模块,功能强大
3.作用域
作用域把angularJS的执行环境和浏览器的环境隔离开,任何原生事件都不能影响angularJS的作用域,无法调用原生事件,只能用$scope;angular中解决了此问题。
4.表单验证
显示错误信息的部分比较薄弱,需要写很多模板标签;angular中更方便。
5.JavaScript语言
没有类型系统,面向对象的开发能力不足够;angular中采用typescript开发
6.学习成本高
核心不明;angular中核心是组件。
三、angular新特性
1.全新的命令行工具AngularCLI
Angular开发团队提供的官方命令行工具,生成项目骨架、生成组件基本代码,作为开发服务器调试、编译、构建、部署
2.服务器端渲染
使angular应用的SEO效果大大提升
3.移动和桌面兼容
借助Ionic、native script、react native框架创建跨平台手机应用。