我正在使用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()}}
,它就可以正常工作-我只是不能将其分配给上下文参数。
解决方法是什么?
[#index
或#index
返回#getIndex()
的索引-当上下文位于循环遍历数组的'item view'中时。
但是如果您不在循环内(在数组上),{{for someArray}}
为#index
,因此呈现为空字符串...
在您的示例中,上下文参数undefined
在外部上下文中,因此它存储值~collectionIdx=#getIndex()
。
但是如果您有嵌套循环,那么它将在适当的级别正确呈现索引值:
undefined