本节中我们又学习了几个核心的功能。 一、我们复习了Angular中模块的概念以及如及Angular编译组件的前提条件。 二、进一步的认识了Mock Api的工作原理。 三、建立了测试的专用模块,使得单元测试变得更简单、更易读、更易维护。 四、进一步加深了对`autoDetectChanges()`的理解,发现其在启用自动变更以前,先执行了`detectChanges()`。 五、进一步的学习了如何使用响应式表单。 六、学习了如何跳过路由对组件的功能进行测试。 七、初步接触了动态表单的验证器,练习了在动态表单上使用非空验证器。 八、知道如何在V层中使用动态表单的`invalid`属性达到提示的目的。 九、对`zone.js`有了个初步的了解,成功的手动控制了后台数据的返回。 十、学习了将`@Input()`注解的另一种用法:注解到`set xxx()`方法上以达到检测输入变更的目的。 十一、接触了`FormGroup`,并成功的将编辑班级的几个字段作用`FormControl`添加到`FormGroup`中。 十二、知道如何利用`FormGroup`的`invalid`属性达到禁用表单提交按钮。 十三、学习了如何自定义一个`FormControl`并将其应用到其它的组件中。 十四、了解了一个好的编程习惯:todo。 是的,不知不觉的,你已经掌握了Angular中大多数的核心,如果你看完上述列表后在心中尚不能抽像出具体的场景,我想你需要再学习一次,或是两次。简单的事情重复做,你必然是专家!仅此而已。 其实对编程的学习就像是打篮球,即需要有理论的指导,也需要有大量的练习。在只有理论指导的情况下,我们是完全不会打篮球的,这就是为什么学习完所有的专业课后我们却感觉自己什么也不会的原因;但天天打篮球而不进行理论指导的话,则永远只能是个业余选手。 > 打篮球式的学习,你正在做吗?