发表于: 2017-05-12 23:14:15
1 893
今天完成的事情:
完成分页的基本功能。(包括跳转翻页)
明天计划的事情:
完成日期搜索功能。
遇到的困难:
今天发现昨天制作出来的分页功能与后台页的分页相比存在很大的bug,由于url是用$location.search对url进行拼接,通过$http请求进行跳转,这样的话就不会出现刷新功能,当页面F5刷新时又会回到初始页面,这样的话对用户体验造成很大的问题。经过师兄的指点下,就采用了利用$stateParams方法在路由js文件对列表页跳转的url中添加/:page,这就相当于对url进行预处理。然后添加params属性,设置page初始值为1.如图所示
.state('backstage.articleListPage',{
url: "/articleListPage/:page/:size",
params:{page:"1"},
templateUrl:"html/articleListPage.html",
resolve:{
//懒加载登录../articleListPage.css
loadMyFile: _lazyLoad(['css/articleListPage.css','js/list.js'])
}
})/*首先将articleListPage作为backstage的子页面,它将会在backstage.html中显示出来。当我们想要在母版页中管理所要的
页面时,我们就会想到一个叫做"ui-view"的占位标记,因此我们现在把backstage.html作为一个模板页,因此它会把我们需要在
backstage.html中用ui-view所声明好的其它页面管理起来*/
,然后在列表页的js文件中设置默认页面$scope.activePage=$statePage.page || 1;$scope.size=$statePage.size||10;
$scope.activePage=$stateParams.page||1;
$scope.size=$stateParams.size||10;
$http({
method: 'get',
url: "/carrots-admin-ajax/a/article/search?page=" + $scope.activePage +"&size=" + $scope.size
}).success(function (d) {
然后通过点击触发$state.go事件
$state.go('backstage.articleListPage',{page:$stateParams.page,size:$stateParams.size},{reload:true});
这样的话一个简单的分页功能就完成了
收获:
1.学会分页功能;
2.学习了$stateParam属性
评论