2012-08-06 10 views
6

jsRenderの{{for}}ループに関する質問。jsRenderループaリスト<string>

デモは、複雑なオブジェクトのコレクションを我々はできるループを示し、そのプロパティを表示:

{{for languages}} 
    <div> 
     <em>{{>name}}</em> 
    </div> 
{{/for}} 

しかし、どのような場合、私のlanguagesだけList<string>のですか?表示する{{>name}}はありません。個々の文字列値をどのように参照できますか?

ありがとうございました。

答えて

11

#dataを使用して、ループ内の個々の文字列値にアクセスできるはずです。

+0

これは文書化された方法ですか? –

+0

@mattlohkampそこには、[ここ](https://www.jsviews.com/#paths)(「#view.data__」の「_'データ#は短い)」と「ここに」(https ://www.jsviews.com/#[email protected])( "_aビューにはデータプロパティがあり、このビューをレンダリングするために使用される現在のデータコンテキストです" –

+0

はコンテキスト内の例を必要とします –

18
{{#data}} 

私のためには機能しませんでした。

何かが変更されているようだ、これは私のためにそれをやったことです:

{{>#data}} 
+1

">"が暗示されていると考えてください。 – Syska

+1

{{:#データ}}文字列にいくつかのhtmlタグがある場合... – r2b2s

+0

@ r2b2s - 実際は正反対です。 HTMLインジェクション攻撃から保護するために、{{... ...}}タグの代わりに{{> ...}}タグを使用する必要があります。 - https://www.jsviews.com/#htmltag –

0

また、あなたには、いくつかの比較を行いたい場合は、あなたがのようなコードを使用することができます:

{{if #data == 'xxx' || #data == 'yyy'}} 
... 
{{/if}} 

でスクリプト。

2

あなたは使用する必要があります。

{{>#data}}または{{>}}を - (HTMLをコードする)

{{:#data}}または{{:}}を - (非HTML)

例えば:

はのは、あなたを言ってみましょうlanguagesオブジェクトは次のようになります。

var languages = ['en', 'sp', 'zh'];

{{for languages}} 
    <div> 
     <em>{{>}}</em> 
    </div> 
{{/for}} 

になります:

<div> 
    <em>en</em> 
</div> 
<div> 
    <em>sp</em> 
</div> 
<div> 
    <em>zh</em> 
</div> 

ドキュメント

#data

Difference between : and >

関連する問題