发表于: 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"})

代参函数requesthttp请求。

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){。。。}])

计划:学习服务和自定义指令。



返回列表 返回列表
评论

    分享到