Vue显示分页数据

  • Post author:
  • Post category:vue


@RestController
@RequestMapping("/v1/question")
@Slf4j
public class QuestionController {

    @Autowired
    IQuestionService questionService;

    @GetMapping("/my")
    public R<PageInfo<Question>> my(Integer pageNumber){
        if (pageNumber == null){
            pageNumber = 1;
        }
        Integer pageSize = 8;
        try{
            log.debug("开始请求当前用户的全部问题");
            PageInfo<Question> pageInfo = questionService.getMyQuestions(pageNumber,pageSize);
            return R.ok(pageInfo);
        }
        catch (ServiceException e){
            log.error("加载当前用户失败",e);
            return R.failed(e);
        }
    }
}
  • 返回值PageInfo
  • 参数pageNumber(第几页)
  • 调用方法时传递

前端

let questionsApp = new Vue({
    el:'#questionsApp',
    data:{
        myQuestions:[],
        pageInfo:{}
    },
    methods: {

        loadQuestions: function (pageNum) {
            if (!pageNum){
                pageNum = 1;
            }
            $.ajax({
                url: '/v1/question/my',
                method: "GET",
                data:{
                  pageNumber:pageNum
                },
                success: function (r) {
                    console.log("成功加载数据");
                    console.log(r);
                    if (r.code = OK) {
                        //获取所有问题
                        questionsApp.myQuestions = r.data.list;
                        //获取翻页信息,保留一份,分页导航时使用。
                        questionsApp.pageInfo = r.data;
                        questionsApp.updateDuration();
                        //更新图片信息
                        questionsApp.updateTagImage();
                    }
                }
            });
        },



版权声明:本文为sinat_33940108原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。