【问题标题】:JSViews array.length updating incorrectlyJSViews array.length 更新不正确
【发布时间】:2018-12-23 21:49:02
【问题描述】:

我用 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() 仅更改“开始”来重新渲染视图,因此我使用了 hack。有没有更好的方法来制作这个模板?

【问题讨论】:

    标签: jsrender jsviews


    【解决方案1】:

    这是update of your sample

    您需要将您的 {{if}} 标签与数据链接 ({^{if}}) 以响应 ~s 中的更改,如下所示:

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

    你奇怪的渲染结果和明显的 questions.length 变化可能是在 &lt;ul&gt; 中直接包含 &lt;span&gt;s 的副作用,这是无效的。 JsViews 假定&lt;ul&gt;s 中的HTML 结构有效。查看我修改后的 jsfiddle...

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

    【讨论】:

    • 一如既往地感谢您的帮助。真的很棒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多