23

口ひげテンプレートエンジンを使用していますが、長いリストの最初のアイテムのみを表示したいのですが、そのためのドキュメントが見つからないようです。

私が使用する場合:

{{# links}}<a href="{{& url}}">{{& title }}</a>{{/ links}}

すべてのリンクを取得しましたが、最初のリンクのみを表示したいので、簡単に聞こえますが、これに関するドキュメントが見つかりません。

4

3 に答える 3

44

このソリューションは、Mustache.jsの新しいバージョン(のみ)で動作します。

mustache.render("{{a.0}}", {a: ['hi','world']})
=> 'hi'
于 2013-07-30T15:17:32.673 に答える
4

@Milladが提示したソリューションは、ほとんど私にとってはうまくいきました。角かっこで使用する必要がありましたが、handlebars.jsを使用しています。

{{ a.[0] }}

=>こんにちは

res.render('view', { a: ['hello', 'world'] })
于 2017-02-24T23:12:21.747 に答える
2

口ひげは、ドキュメントから、ロジックを持っていません:

ifステートメント、else句、またはforループがないため、これを「ロジックレス」と呼びます。代わりに、タグのみがあります。一部のタグは値に置き換えられ、一部は何も置き換えられず、その他は一連の値に置き換えられます。このドキュメントでは、さまざまなタイプのMustacheタグについて説明します。

つまり、本質的に必要なのは、を実行するメカニズムです。つまりif link is the first、データに1つの要素を配置するか、データを配置するときのようにデータのチャンクを追加することで、データ側でこれを処理できます。のような値displayを設定し、「インライン」または「なし」に設定してから、テンプレートで次の操作を行います。

{{# links}}<a href="{{& url}}" style="display: {{display}};">{{& title }}</a>{{/ links}}

その後、ページ内のスクリプトを呼び出して、style.displayユーザーまたはアプリケーションのアクションを変更できます。

data = data[0]これらは私の最初のものですが、この特定のテンプレートに設定する方が簡単かもしれません。問題は、おそらくある時点でそのリスト全体を使用したいということです。コメントするには、使用状況とデータの入力元をもっと確認する必要があります。

于 2012-06-21T22:07:11.697 に答える