2013-06-30 9 views
5

javascriptでヒゲのテンプレートを使ってオブジェクトの配列をレンダリングしようとしていますが、この質問をした他の人は見つかりませんでした。オブジェクトの配列をうまく描画できますが、配列のレンダリング方法を理解することはできません。私はそれぞれのネストされた配列を私が想定している独自の変数に割り当てることができますが、それらの数はいくつでもかまいませんので、配列として保持する必要があります。ここヒゲを使ってオブジェクトの配列の配列をレンダリングする方法

私はレンダリングするために必要なデータの種類である:

[ 
    [ 
     { id: 12345, name: "Billy" }, 
     { id: 23456, name: "Joe" }, 
     { id: 34567, name: "Jenny" } 
    ], 
    [ 
     { id: 45678, name: "Amy" }, 
     { id: 56789, name: "Julie" }, 
     { id: 67890, name: "Sam" } 
    ] 
] 

外側のアレイは、ネストされた配列の任意の数を含むことができ、各ネストされた配列は、任意の数のオブジェクトを含むことができます。

ひげそりで可能かどうかわかりません。私は関数を使ってみましたが、これは私が口ひげをつけた関数を初めて使用したことですので、何か間違っているかもしれません。私はバックボーンビューのレンダリング機能から呼びます。配列の配列(上記参照)は、ビューのモデルの属性の一部です。だからここで私が試したことがあります。

render: 
    function() 
    { 
     this.model.attributes.getList = 
      function() 
      { 
       return function (str, func) { return 'What in the world should I return here?'; } 
      } 

     this.$el.html (Mustache.render ($ ('#detail-template').html(), this.model.attributes)); 

     return this; 
    }, 

ここでは、私がこの機能を使用しようとしているテンプレートのセクションです。

{{#getList}} 
    {{name}} 
{{/getList}} 

私は{{name}}はそこに属していないと確信していますが、他に何を入れていいのかわかりません。

func(str)を返そうとしましたが、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]

この文字列をjsonオブジェクトとして使用することはできませんでした。

私はバックボーンとヒゲの両方に新しいので、誰かがこれに "ベストプラクティス"の解決策を持っているかもしれないと思っていました。それ。私はインターネット上のどこでも同じ質問を見つけることができませんでした。

+1

あなたの配列を平坦化できませんでしたか?アンダースコアのフラット化関数? Btw。そこに "model.attributes"ではなく "model.toJSON()"を返すべきです。 – Luke

+0

@ルークです。あなたがMustacheを使用している場合、テンプレートの近くに来る前に、JavaScriptであなたのデータを扱うことになります。 –

答えて

1

この質問は2歳ですが、私は決して遅くない方が良いと思います。 {{。}}を使用すると、配列内の現在の要素を参照できます。

context = [ 
    [ 
     { id: 12345, name: "Billy" }, 
     { id: 23456, name: "Joe" }, 
     { id: 34567, name: "Jenny" } 
    ], 
    [ 
     { id: 45678, name: "Amy" }, 
     { id: 56789, name: "Julie" }, 
     { id: 67890, name: "Sam" } 
    ] 
] 

template = " 
    {{#context}} 
     {{#.}} 
      <span id={{id}}>{{name}}</span> 
     {{\.}} 
    {{/context}} 
" 
関連する問題