vue.js неверный расчет нумерации страниц - PullRequest
1 голос
/ 05 июля 2019

В моем приложении есть код нумерации страниц, который вычисляет нумерацию страниц на основе данных из REST API. Когда я добавляю страницу страниц, она вычисляется со страницы 0, а не с 1, поэтому она говорит «0 из 9», а когда она достигает конца, она говорит «8 из 9», когда она должна говорить «1 из 9» и «9 из 9» в конец. Пока мой код:

HTML

<p>Page {{page}} of {{pageCount}}</p>

JS

data: function() {
    return {
      page: 0
    };
  },

computed: {
    pageCount() {
      let l = this.result.length,
        s = this.size;
      return Math.floor(l / s);
    },
    paginated() {
      const start = this.page * this.size,
        end = start + this.size;
      return this.result.slice(start, end);
    }
  },

Есть идеи? Может быть, я неправильно вычисляю метод math.floor?

Ответы [ 2 ]

2 голосов
/ 05 июля 2019

Ваша переменная страницы проиндексирована 0 вместо 1 индекса.Вы можете сохранить его таким образом, чтобы разбиение на страницы продолжало работать так, как задумано, но там, где вы выводите его пользователю, вы можете просто добавить 1, чтобы это имело смысл для пользователя.

<p>Page {{page + 1}} of {{pageCount}}</p>
1 голос
/ 05 июля 2019

Из того, что я понял, ваш метод pageCount () является правильным, потому что у вас действительно есть 9 страниц, поэтому math.floor не проблема, ваша переменная страницы является той, которая неверна, но я не могу видеть, откуда вы получаете эту переменную но простым, но грубым решением было бы просто добавить 1 к переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...