7

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" }
    ]
]

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

口ひげでそれが可能かどうかはわかりません。関数を使ってみたのですが、口ひげを使った関数を使ったのはこれが初めてなので、何か間違っているのかもしれません。Backbone View の render 関数から呼び出しています。配列の配列 (上に表示) は、ビューのモデルの属性の一部です。だからここに私が試したものがあります。

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) を返そうとしましたが、印刷されたのは [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object を含む長い文字列だけでしたオブジェクト],[オブジェクト オブジェクト]

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

私はバックボーンと口ひげの両方に少し慣れていないので、誰かがこれに対する「ベストプラクティス」の解決策を持っているか、少なくともそれが不可能かどうかを教えてくれるので、これ以上時間を無駄にしないと思いました. 同様の質問はインターネット上のどこにも見つかりませんでした。

4

1 に答える 1