使用Bootstrap4 + Vue2实现分页查询的示例代码(2)
二、初始化Vue对象及数据
创建Vue对象
var vueApp = new Vue({
el:"#vueApp",
data:{
userList:[],
perPage:10,
pageNow:0,
totalPages:0,
checkedRows:[]
},
methods:{
switchToPage:function (pageNo) {
if (pageNo < 0 || pageNo >= this.totalPages){
return false;
}
getUserByPage(pageNo);
}
}
});
初始化数据
function getUserByPage(pageNow) {
$.ajax({
url:"/user/"+pageNow,
success:function (datas) {
vueApp.userList = datas.content;
vueApp.totalPages = datas.totalPages;
vueApp.pageNow = pageNow;
},
error:function (res) {
console.log(res);
}
});
}
完整js代码:
<script>
var vueApp = new Vue({
el:"#vueApp",
data:{
userList:[],
perPage:10,
pageNow:0,
totalPages:0,
checkedRows:[]
},
methods:{
switchToPage:function (pageNo) {
if (pageNo < 0 || pageNo >= this.totalPages){
return false;
}
getUserByPage(pageNo);
}
}
});
getUserByPage(0);
function getUserByPage(pageNow) {
$.ajax({
url:"/user/"+pageNow,
success:function (datas) {
vueApp.userList = datas.content;
vueApp.totalPages = datas.totalPages;
vueApp.pageNow = pageNow;
},
error:function (res) {
console.log(res);
}
});
}
</script>
三、使用JPA实现分页查询
controller接收请求
/**
* 用户相关请求控制器
* @author louie
* @date 2017-12-19
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 分页获取用户
* @param pageNow 当前页码
* @return 分页用户数据
*/
@RequestMapping("/{pageNow}")
public Page<User> findByPage(@PathVariable Integer pageNow){
return userService.findUserPaging(pageNow);
}
}
JPA分页查询
@Service
public class UserServiceImpl implements UserService {
@Value("${self.louie.per-page}")
private Integer perPage;
@Autowired
private UserRepository userRepository;
@Override
public Page<User> findUserPaging(Integer pageNow) {
Pageable pageable = new PageRequest(pageNow,perPage,Sort.Direction.DESC,"id");
return userRepository.findAll(pageable);
}
}
好了,至此功能完成,工程代码已在GitHub中分享,您可以 点击查看或下载 ,拥抱开源,共享让世界更美好。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持黑区网络。
