2010-10-17 5 views

Antwort

50

Nach the spec's changelog, der implizite Iterator (.) wurde in v1.1.0 des spec hinzugefügt. Jede Moustache-Bibliothek, die mindestens v1.1.0 implementiert, sollte dies unterstützen.

{{#array_of_strings}}<li>{{.}}</li>{{/array_of_strings}} 
+0

Hinweis: Arrays müssen implizite Schlüssel haben, damit dies funktioniert. Wenn Sie diese Methode verwenden, wenn Ihr Array über Indizes verfügt, wird eine Instanz des Wortes "Array" ausgegeben. – Popnoodles

9

Ich ging ein bisschen von meinem Code weg und erinnerte mich, dass Ruby Ente ist. Da meine Array von Strings war, alles, was ich brauchte, war:

{{#my_array}} 
    <p>{{to_s}}</p> 
{{/my_array}} 

ich diese Frage hier in der Hoffnung verlassen würde jemanden anderes einige Zeit zu sparen.

22

aus dem Quellcode 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}} 
*/