这里只是把我的学习过程写出来,如果有写的不对的地方希望各位指出来,或者给我留言来纠正错误,相互学习,相互提高。QQ:260951742
一、AngualrJs的优点
- 模板功能强大
- 比较完善的前端MVC框架
- 引入了Java的一些概念
二、AngularJs的问题
- 性能(AngularJs为双向数据绑定,在Angular中默认为单向数据绑定)
- 路由(AngularJs中路由有很多问题,Angular中路由模块为主要核心模块之一)
- 作用域($scope在Angular中移除,任何原生事件可以直接绑定和处理)
- 表单验证(Angular中提供全新模板API,例如相应式表单)
- JavaScript语言(Angular中使用TypeScript语言开发,带有完善的类型系统等)
- 学习成本(Angular的核心模块清晰,学习成本更低,可以更快地上手写项目)
三、Angular新特性
-
全新的命令行工具AngularCli
生成新项目骨架
生成组件的基础代码
作为开发服务器供调试、编译、构建和部署代码,运行自动化的单元测试等等
-
服务器端渲染
可以使原本需要10秒左右加载的单页应用在1秒内呈现给用户(性能)
可以使一个单页应用针对每一个视图做SEO搜索引擎优化
-
移动和桌面兼容
对移动端的支持提升到一个新的高度
借住一些第三方UI框架可以很容易使用Angular创建出跨平台的手机应用
提供了Angular的官方库 material2 提供很多google material风格的在移动和桌面通用的组件
四、架构对比
-
AngularJs是典型的MVC架构
-
Angular是由一系列的组件组成,形成一个组件树
Angular架构.png(上方图片和这段文字摘自网络)
与用户交互的是组件中的模板,模板展示信息给用户,用户对模板中进行操作;
模板通过事件与组件交付,组件通过数据绑定把数据展现在模板中;
指令是扩展了一部分模板的语法;
路由负责组件的创建与销毁,在客户端进行切换;
服务可以简单的理解为一部分公共的方法或者所谓的大牛写的插件注入到组件树中,那么在该节点的组件树
下面都可以调用。
网友评论