Angular4学习总结

写在开始

进入现在的公司快满一年了,记得入职第一天是让我看文档,第二天就正式投入开发了,期间一直想要写点学习心得,但是因为工作量较大,连域名未认证被封了几个月都不知道,趁这次修复blog,大致写一写这一年来积累的东西。

学习方式

学习一门语言最好的方法就是实战,我进入公司的时候恰好碰上技术栈转型,逐渐把老项目过渡到Angular4,所以大家都是边做边摸索,Angular在国内远没有Vue那么火,不少问题的解决都要靠老外,国内的开发者也有几个知名的实践,把我们常用的插件集成在一个demo中,这里贴上几个比较经典的学习资源,有需要可以参考:

官方中文文档

大漠老师的美人鱼

CodeBe插件集成demo

Angular2随便问

理论上实际开发都是专注于业务,所以一般都会使用框架以提高开发速度,这里推荐阿里的NG-ZORRO和PrimeNG,经过多个版本迭代已经比较成熟,可以放心使用:)

强烈推荐的框架:NG-ZORRO

PrimeNG

实用技巧


这里就不再讲什么数据绑定、http请求等基础用法了,说几个在实际项目中比较实用的技巧,官方文档或许有提及但不够详细。

全局变量

或许你在某些教程中已经学习了Angular的组件通讯,知道常用的组件关系是父子关系,用的是@Input和@Output去传参,但是在实际项目中,经常会遇到兄弟关系的组件,这时候我们可以定义一个全局共用的Service进行传值,需要避免的坑是使用EventEmitter发送的值在订阅之前要先new EventEmiiter()一下,不然会造成重复触发。具体的使用方法可以参考 https://segmentfault.com/q/1010000011080965

动态组件

当模版内容较多时,例如一个页面包含了多个弹窗,弹窗的内容、逻辑也非常多的时候,按照默认模式Angular会一次全部渲染,影响性能。这时候我们可以使用动态组件,只有初始化事件触发时,才去生成这个弹窗组件,并且这样做有个好处:抽出来的组件可以进行复用。
具体的使用方法可以参考 https://www.jianshu.com/p/10feab2c3102