发表于: 2017-07-04 22:45:41
0 833
1、重新修改任务8,列表搜索时增加url传参,实现通过网址保存搜索信息,提高用户体验。
路由页面重新分配,加入参数,赋值为空
.state("main.article", {url: '/article?:page&:size&:type&:status&:startAt&:endAt',params:{'page':null,'size':null,'type':null,'status':null,'startAt':null,'endAt':null},templateUrl: 'article.html',controller:"siteCtrl"})
代参函数request,http请求。
function request(params) {
$http.get('/carrots-admin-ajax/a/article/search'+params)
.success(function (response) {
$scope.list=response.data.articleList;
$scope.pageTotal=new Array(Math.ceil(response.data.total/response.data.size));
});
}
路由跳转函数,将双向绑定的数据代入。
function statego() {
$state.go('main.article',{
'page':$scope.page,
'size':$scope.size,
'type':$scope.type,
'status':$scope.sta,
'startAt':$scope.startDate,
'endAt':$scope.endDate
});
}
后面执行那些就,通过判定参数将statego()代入就行了。
2、修改了之前一个小bug,搜索返回数据,返回页码小于设定页码时,无数据显示的问题。运行传参之前加一个条件判断。
if($scope.page>$scope.pageTotal.length){$scope.page=1}
statego();
3、
收获:系统写了搜索传参的功能。
困难:搜索传参、input绑定数据、返回数据绑定,三者代码逻辑上感觉有点复杂,加上有些还需要过滤器,参考了其他师兄的代码。
之前一直不报错,但是搜索不传参,打印发现传参数据为undefined,搜索发现原因是上边依赖注入时的顺序没有一一对应,纠正如下即可。
.controller('siteCtrl',['$scope','$state','$http','$stateParams','$filter',function($scope,$state,$http,$stateParams,$filter){。。。}])
计划:学习服务和自定义指令。
评论