1

量、パーセント、および測定単位を保持するバックボーン モデルの栄養項目があります。例えば

var nut = Backbone.Model.extend({
defaults: {
    quantity: '0',
    percent: 0,
    uom: 'g',
}
});

そして、製品の全栄養を含む別のモデルがあります

var nutrition = Backbone.Model.extend({
defaults:{
servingSize: new nut(),
calories: new nut(),
caloriesFromFat: new nut(),
totalFat: new nut(),
saturatedFat: new nut(),
cholesterol: new nut(),
sodium: new nut(),
totalCarbohydrate: new nut(),
dietaryFiber: new nut(),
sugars: new nut(),
protein: new nut(),
vitaminA: new nut(),
vitaminC: new nut(),
calcium: new nut(),
iron: new nut(),    
},
});

しかし、栄養モデルをアンダースコアテンプレートに渡して栄養を出力すると、未定義と表示されます。アンダースコアはネストされた属性をサポートしませんか?

<tr>
<td><strong>Total Fat <%=totalFat.quantity%> <%=totalFat.uom%></strong></td>
<td class="dv"><%=totalFat.percent+'%'%></td>
</tr>
<tr>
 <td class="sub">Saturated Fat <%=saturatedFat.quantity%> <%=saturatedFat.uom%></td>
 <td class="dv"><%=saturatedFat.percent+'%'%></td>
 </tr>

ありがとう。

4

2 に答える 2

1

nutrition.toJSON()または_.clone(nutrition.attributes)テンプレートに渡す必要があります。

それ以外の場合は、生データではなく、モデル オブジェクトを取得します。

すべてのサブ属性を取得するには、ネストされた属性を再帰して直接公開することができます。それ以外の場合は、オブジェクトを介して直接アクセスできattributesます。例えばcholesterol.attributes.<attr>

于 2013-09-06T16:42:03.407 に答える