JSViews array.length更新不正确

时间:2018-12-23 21:49:03

标签: jsrender jsviews

我已经使用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部分有关。

  1. 我无法通过setProperty()更改视图以仅重新渲染“ start”,因此我正在使用一种技巧。有没有更好的方法来制作此模板?

1 个答案:

答案 0 :(得分:0)

这里是update of your sample

您需要使{{if}}标签与数据相关({^ {if}}),以响应〜s中的更改,例如:

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

您会奇怪地呈现结果和明显的问题。长度更改可能是将<span>直接放在<ul>内的副作用,这是无效的。 JsViews在<ul> s中假定有效的HTML结构。看到我修改过的jsfiddle ...

如果您继续遇到问题,请告诉我...