Неправильное обновление массива JSViews - PullRequest
0 голосов
/ 24 декабря 2018

Я создал простое представление подкачки с помощью JSViews.У меня есть две проблемы.

Вот скрипка: JSViews Pagination Fiddle

1) При использовании array.length, похоже, он меняется после обновления данных, несмотря надлина массива осталась прежней:

Эта строка:

{^{for questions ~s = start ~c=count ~l=totalQuestions}}

изначально была

{^{for questions ~s = start ~c=count ~l=questions.length}}

, поэтому мне не нужно было включать общее количествовопросы в данных (navData).

с использованием .length, после обновления массива (что я знаю, что я делаю неправильно, но это второй вопрос !!!). questions.length изменяется с 10 на 20и поэтому рендеринг идет не так.

Может кто-нибудь увидеть, что я сделал неправильно, что, конечно, может быть связано с частью 2.

Я не могу заставить представление перерисовать, меняя только «старт» с помощью setProperty (), поэтому я использую хак.Есть ли лучший способ сделать этот шаблон?

1 Ответ

0 голосов
/ 24 декабря 2018

Вот обновление вашего образца .

. Вам нужно связать свои теги {{if}} с данными ({^ {if}}), чтобы реагировать на изменения в~ s, как в:

{^{if #getIndex() == ~l-1 && (~s + ~c < ~l -1) }}

Вы странные результаты рендеринга и очевидные вопросы. Изменение длины может быть побочным эффектом наличия <span> s непосредственно внутри <ul>, что недопустимо.JsViews предполагает допустимую структуру HTML в <ul> с.Смотрите мой модифицированный jsfiddle ...

Дайте мне знать, если вы продолжаете видеть проблемы ...

...