1

次のように、サーバーからの JSON 応答が与えられます。

{
"products" : [
    {
        "Product" : {
            "id" : "122",
            "name" : "product X",
            "price" : "19.99",
        },
        "Picture" : [
            {
                "product_id" : "122",
                "id" : "145",
            },
            {
                "product_id" : "122",
                "id" : "146",
            },
            {
                "product_id" : "122",
                "id" : "147",
            }
        ]
    }
]
}

バックボーン ビューに渡されるバックボーン モデルを作成します。ビューのテンプレートでは、次の方法で製品の名前にアクセスできます。

 <%= Product.name %>

すべてが期待どおりに機能します。しかし、最初の画像のIDを取得したいとしましょう。私は試した:

<%= Picture.0.id %>

しかし、コンソールに次のエラーが表示されます。

Uncaught SyntaxError: Unexpected number 

簡単に言えば、製品テンプレートから製品に関連付けられたさまざまな画像のプロパティにアクセスするにはどうすればよいでしょうか。それが重要な場合は、アンダースコア テンプレートを使用しています。

4

1 に答える 1

2

通常の JavaScript 配列インデクサー構文[index]でうまくいきます。

<%= Picture[0].id %>

編集:アンダースコアはタグ内の古いJavaScriptを受け入れる<% %>ため、配列が空かどうかを確認したい場合は、標準の_.isEmpty方法を使用して行うことができます:

<% if(!_.isEmpty(Picture)) { %>
   <%= Picture[0].id %>
<% } else { %>
   No picture
<% } %>

または、好みのその他の JavaScript 構造。詳細については、ドキュメントを参照してください。

于 2013-01-15T23:12:43.900 に答える