发表于: 2017-04-15 23:49:13
1 1075
今天完成的事情:
修改学习资料的bug;
明天计划的事情:
继续改这个bug
遇到的问题:
本来已经把修改学习资料的bug看的很难了,但还是低估了它的难度和逻辑复杂的程度。经过泽平的梳理,觉得这个bug要从以下几个方面来考虑;
1、日报列表搜索页进入日报详情页要单独调用不同的接口,因而这个地方需要条件判断,泽平给出的方法是通过$state.current.parents(当前url的父级url名称)来进行判断;这样就可以做到不影响其他页面进入详情页的情况。
2、日报列表搜索也跳转到详情页需要传参,有些通过$state.go来传参,有些通过localStorage来传参。这里也涉及到一个问题,就是删除localStorage的参数。由于mainCtrl的层级较高,可以在mainCtrl获取当前页面的url的名称,进而来判断是否离开当前页面,从而删除localStorage的值;
3、从搜索页进入日报详情页获取的数据的请求需要单独写,考虑到和列表页的数据的顺序保持一致,因而可以模仿列表页的请求获取上一篇和下一篇日报的id,进而发送请求获取数据。日报详情页的请求参数可以通过localStorage存储列表页的请求参数,从而传递给详情页。
4、最后一个问题,就是日报详情在获取上下篇日报id的参数需要page参数,而评论的翻页组件也需要page参数,因而二者可能存在互相干扰的问题。这个问题暂时还未得到解决,留待明天处理。
收获:
1、学习了$state.current.parents的用法;
2、对angular的层级理解有了进一步的认识。angular的ctrl的层级和其作用域的层级有异曲同工之妙,$rootscope可以用来存储数据,各同级页面就可以直接调用这些数据,实现数据的共享。而angular的ctrl也有一些妙用。比如如何判断离开当前页面,并进行某些操作,当时这个问题困扰了我好久。今天收到泽平的启发,觉得可以在上一级ctrl里面把当前页面的url名称作为判定条件,可以指定当url名称变化时(即离开当前页面),进行相关的操作就可以了。
评论