web-dev-qa-db-ja.com

moustacheを使用した配列の反復

反復で現在の要素への参照を取得するにはどうすればよいですか?

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

私は明らかなことを見落としていることを願っています。

39
Jeremy

仕様の変更ログ によると、暗黙の反復子(.)は仕様のv1.1.0で追加されました。少なくともv1.1.0を実装するすべてのMoustacheライブラリはこれをサポートする必要があります。

{{#array_of_strings}}<li>{{.}}</li>{{/array_of_strings}}
65
pvande

ソースコードから 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}}
 */
23
george

コードから少し離れて、Rubyはダック型であることに注意してください。私の配列は文字列だったので、必要なのは次のとおりです。

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

他の誰かを時間を節約できることを期待して、この質問はここに残しておきます。

9
Jeremy