发表于: 2017-05-13 20:43:03

1 899


今天完成的事情

1.自己把自己js 8-10的代码又重新修改了一遍

明天的计划

1.复盘项目的方案

2.接着修改自己之前的代码

遇到的问题

1.基本重新写了js10的js代码,修改了很多东西

a.原来我是把所有都写在了controller里面,现在我精简了controller,把数据和数据的操作,http请求都写在了服务里面

 

//计算总页数

service.totalPage = function (_total,_mySize) {

if(_total % _mySize == 0) {

return _totalPage = Math.floor(_total / _mySize);

} else {

return _totalPage=Math.floor(_total / _mySize)+1;

}

}

 

//页数的数组

service.paging = function (_totalPage) {

for (i = 0; i < _totalPage; i++) {

_Page[i] = i + 1;

}

return _Page;

};

 

//GET加载页面

service.defaultLoad = function (params) {

var defered = $q.defer();

$http({

method:'GET',

url:'/carrots-admin-ajax/a/article/search',

params:params

})

.then(function (response) {

defered.resolve(response.data);

})

return defered.promise;

}

 

//DELETE 删除功能

service.deleteArticle = function(id) {

var defered = $q.defer();

$http({

method:'DELETE',

url:'/carrots-admin-ajax/a/u/article/'+id

})

.then(function (response) {

defered.resolve(response.data);

})

return defered.promise;

}

 

//操作上下线

service.upAndDown = function (status,id) {

var defered = $q.defer();

$http({

method:'PUT',

url:'/carrots-admin-ajax/a/u/article/status',

params: {

'id':id,

'status':status

},

headers:{

'Content-Type': 'application/x-www-form-urlencoded'

}

})

.then(function (response) {

defered.resolve(response.data);

})

return defered.promise;

}

 

在控制器里面只需要一段代码就可以

//进入页面加载

myService.defaultLoad($scope.params).then(function(res){

$scope.mySize = res.data.size;

$scope.items = res.data.articleList;

$scope.total = res.data.total;

$scope.totalPage = myService.totalPage($scope.total,$scope.mySize);

$scope.pageArry = myService.paging($scope.totalPage);

$scope.lastPage = $scope.pageArry.length;

})

之前我写的代码里面,是用cookie来存储数据,达到搜索之后,刷新页面不会改变搜索的结果,但是需要保存的东西太多,代码看起来很乱,而且一些退出的地方,需要清空cookie,导致整体非常的乱,这次我该用url传参的方式来处理这些数据,

.state("PageTab.Page2", {

url: "/Page2?page&size&type&status&startAt&endAt",

templateUrl: "companyMSG.html"

})

参数都写在url上,在修改的时候,只要用$state.go来把数据传进去,刷新页面之后,用$state.params方法获取,然后传给http中的params中,就可以直接加载,无须存储cookie,也不用原来的判断页面是否有cookie,减少了代码量,代码 看起来比原来的更加简洁

例如搜索页面的操作

$state.go(

$state.current,

{

page:1,

size:$scope.mySize,

status : $scope.searchStatus.id,

type : $scope.searchType.id,

startAt : $scope.timeStart ,

endAt : $scope.timeFinish ,

},

{reload: true})

还有原来的分页那里,我是写了三个函数,分别是跳到首页,跳到尾页,到指定某页,重复代码特别多,现在精简成为一个函数pageGo

传一个参数进去,这个参数根据不同的按钮传不同的,但是传到内部都是一个作用就是更改page的数值

$scope.pageGo = function pageGO(item) {

if(item > $scope.lastPage ) {

alert('此页不存在');

} else {

$state.go($state.current, {page: item, size: $scope.mySize}, {reload: true})

}

}

 

尝试把自己之前写的图片上传的指令插入到任务中了,发现css样式有点冲突,修改了样式之后还蛮好用的

 

收获

加深了对于angular的理解,以及各个模块的理解



返回列表 返回列表
评论

    分享到