在JSRender中,for循环中难以使用上下文参数

问题描述 投票:-1回答:1

我正在使用JSRender 1.0.5,以及此页面上的文档:https://www.jsviews.com/#contextualparams建议我可以这样做:“上下文参数是通过在任何块标记(例如{{if}}或{{for}})上简单地写入〜myValue = ...(对于任何表达式)来定义的。”

但是当我在for循环上使用它时,我无法使其正常工作。我已经花了几个小时了-非常令人沮丧。

{{for data.collection ~collectionIdx=#getIndex()}}
    <div id="someDiv">Index = {{:~collectionIdx}}</div>
{{/for}}

我真正想做的是将外部循环的索引传递到内部循环,但是我什至无法使基本功能正常工作。如果我在循环内吐出{{:#getIndex()}},它就可以正常工作-我只是不能将其分配给上下文参数。

解决方法是什么?

for-loop parameters jsrender
1个回答
0
投票

[#index#index返回#getIndex()的索引-当上下文位于循环遍历数组的'item view'中时。

但是如果您不在循环内(在数组上),{{for someArray}}#index,因此呈现为空字符串...

在您的示例中,上下文参数undefined在外部上下文中,因此它存储值~collectionIdx=#getIndex()

但是如果您有嵌套循环,那么它将在适当的级别正确呈现索引值:

undefined
© www.soinside.com 2019 - 2024. All rights reserved.