Перебор массивов с усами - PullRequest
       8

Перебор массивов с усами

34 голосов
/ 17 октября 2010

Как получить ссылку на текущий элемент в итерации?

{{#my_array}}
    <p>{{__what_goes_here?__}}</p>
{{/my_array}}

Надеюсь, я просто упускаю из виду очевидное.

Ответы [ 3 ]

55 голосов
/ 15 июня 2012

Согласно журналу изменений спецификации , неявный итератор (.) был добавлен в v1.1.0 спецификации.Каждая библиотека Усов, которая реализует по крайней мере v1.1.0, должна поддерживать это.

{{#array_of_strings}}<li>{{.}}</li>{{/array_of_strings}}
22 голосов
/ 17 ноября 2010

из исходного кода 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}}
 */
9 голосов
/ 18 октября 2010

Я ненадолго отошел от своего кода и вспомнил, что в Ruby есть утка. Так как мой массив состоял из строк, все что мне было нужно:

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

Я оставлю этот вопрос здесь в надежде спасти кого-нибудь еще.

...