1. $modal 和 toaster都是弹出框,项目里面$modal用的比较多,也有配合着用的,$modal的理解,关键在于“如何进行数据的传输,各个方法的作用“。一个close(),这个里面可以将结果传输到modalInstance.result.then(function (data) {}里面。
2. 也是很关键的一点,一定要分清楚功能,什么功能在什么地方实现,要熟悉angularJS的设计核心理念,还要考虑用户的体验,数据获取,显示在交互之前还是之后,放在哪个控制器里面,都要考虑。
3. 虽然产品需求说明里面没写,但是作为前端,很多交互的细节,还要自己考虑到,比如鼠标移动到一个地方,如果那个地方的状态为禁止点击,鼠标就要随之变化;比如是锁定状态,要有颜色标记;如果禁止点击,也要给出提示,可以增加pageMessage;如果一个东西有初始值,那么在弹出框中要绑定初始值。
4. 几个插件: ui-grid(深入理解用的组件,才能更精准的定位问题,要一步步console出来看看,或者一步步debug),angualr-busy( cg-busy = "myPromise" 加在要显示loading框的地方, $scope.myPromise = $http.post(url, params).success(function (res) {}放在要执行的请求那儿)
5. 然后就是沟通啦,和后端对接口的沟通,之前不太熟悉接口的处理,现在也算多了解了一点点,List集合的话,前端还是要对数据进行 params.classScheduleReqList = JSON.stringify(params.classScheduleReqList); 的处理。很多报500的错误,可能是后端的问题,也有可能是接口处理的问题。
6. 代码其实还是需要精简的!!!适当的封装成可复用的函数。逻辑再复杂也不要害怕,慢慢来,总会理清楚的,要去试着写,写着写着思路就通畅了。要考虑各种情况,边界的情况。测试的黑盒测试也会将边界情况都考虑到。要理解产品的逻辑,也有利于对需求不是特别明确的文档的理解。