JSViews array.length 更新不正确
JSViews array.length updating incorrectly
我用 JSViews 创建了一个简单的分页视图。我有两个问题。
这是一个fiddle: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() 仅更改 "start" 来重新呈现视图,因此我使用了 hack。有没有更好的方法来做这个模板?
您需要将您的 {{if}} 标签设置为数据链接 ({^{if}}) 以响应 ~s 中的更改,如:
{^{if #getIndex() == ~l-1 && (~s + ~c < ~l -1) }}
你奇怪的渲染结果和明显的 questions.length 变化可能是将 <span>
直接放在 <ul>
中的副作用,这是无效的。 JsViews 在 <ul>
中假定有效的 HTML 结构。看我修改过的jsfiddle...
如果您继续看到问题,请告诉我...
我用 JSViews 创建了一个简单的分页视图。我有两个问题。
这是一个fiddle: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() 仅更改 "start" 来重新呈现视图,因此我使用了 hack。有没有更好的方法来做这个模板?
您需要将您的 {{if}} 标签设置为数据链接 ({^{if}}) 以响应 ~s 中的更改,如:
{^{if #getIndex() == ~l-1 && (~s + ~c < ~l -1) }}
你奇怪的渲染结果和明显的 questions.length 变化可能是将 <span>
直接放在 <ul>
中的副作用,这是无效的。 JsViews 在 <ul>
中假定有效的 HTML 结构。看我修改过的jsfiddle...
如果您继续看到问题,请告诉我...