又到了一周写汇报的时候,细细想来,这周的状态其实不太好,然后又因为报了驾校,课余时间又得分出去一部分,所以这周的项目进展主要是在靠学长和潘哥的推动,自己只写了几个小功能。就简单的总结一下这周遇到的问题。observable未订阅在项目中写了一个http请求的函数,但是无论如何这个函数就是没有网络请求,后来偶然发现没有订阅observable,订阅一下就可以了。通过这件事牢牢记住了obervable的对象必须订阅。使用timer()遇到的坑timer定时器是很好用的,但由于开始对angular的生命周期和timer不太熟悉,费了好长时间才在学长和潘哥的帮助下解决遇到的一个bug。在说bug之前先简单的说说timer怎么使用。timner的简单用法想要完整的学习,自然得通过官方文档的方式,但只是想简单使用,可以参照下面:先定义一个Subscription定义定时器的操作一个简单的定时器就完成了。突然出现的报错在计算列表为空的情况下会发出带数据的请求。开始怎么检查都觉得代码没问题,找不到他产生的原因,研究了半天,发现他是几个一出现几个一出现,而且几个任务执行的间隔绝对不到定时器执行的时间,学长突然想到了是不是timer不会随着组件销毁而销毁,经过测试果然是这样。angular生命周期既然定时器不能自动销毁,只能靠我们自己销毁了,这时候就要用到ngOnDestroy,当组件销毁时,主动去取消timer的订阅。 /** * 组件销毁方法 */ public ngOnDestroy() { // 取消定时器订阅 this.yunzhiTimer.unsubscribe(); }