如何获取迭代中当前元素的引用?
{{#my_array}}
<p>{{__what_goes_here?__}}</p>
{{/my_array}}
我希望我只是忽略了显而易见的事情。
答案 0 :(得分:55)
根据the spec's changelog,隐式迭代器(.
)已添加到规范的v1.1.0中。每个至少实现v1.1.0的Mustache库都应该支持这个。
{{#array_of_strings}}<li>{{.}}</li>{{/array_of_strings}}
答案 1 :(得分:22)
来自源代码https://github.com/bobthecow/mustache.php
/**
* The {{%IMPLICIT-ITERATOR}} pragma allows access to non-associative array data in an
* iterable section:
*
* $context = array('items' => array('foo', 'bar', 'baz'));
*
* With this template:
*
* {{%IMPLICIT-ITERATOR}}{{#items}}{{.}}{{/items}}
*
* Would render as `foobarbaz`.
*
* {{%IMPLICIT-ITERATOR}} accepts an optional 'iterator' argument which allows implicit
* iterator tags other than {{.}} ...
*
* {{%IMPLICIT-ITERATOR iterator=i}}{{#items}}{{i}}{{/items}}
*/
答案 2 :(得分:9)
我离开了我的代码一段时间,并记得Ruby是鸭子类型。由于我的数组是字符串,我所需要的只是:
{{#my_array}}
<p>{{to_s}}</p>
{{/my_array}}
我会在这里留下这个问题,希望能有时间拯救别人。