0

json から動的出力を構築しようとしており、jq/template tmpl 表示行/列を使用しています。どういうわけか、列と行を反復処理する必要がありますが、方法がわかりません。

json プロパティの名前がわからないので、動的にする必要があります。

最終的に答えを得た ここに

<script id="template" type="text/x-jquery-tmpl">
        <li>{Need Loop here?}</li>           
 </script>

var invoice = {
  invoiceItems: [
    { type: 'item', 
      part: '99Designs', description: '99 Designs Logo', 
      price: 450.00, qty: 1 },
    { type: 'service',
      service: 'Web development and testing', 
      price: 25000.00 },
    { type: 'item',
      part: 'LinodeMonthly', description: 'Monthly site hosting', 
      price: 40.00, qty: 12 }
  ]
};

$("#template")
    .tmpl(invoice.invoiceItems)
    .appendTo("#place_holder");

また、jsonのプロパティ名を表示する方法はありますか? お気に入り:

タイプ > パーツ > 説明 > .....

ここにjsFiddleがあります

更新

私はJsrenderをずっと早く使い始めました。動的テンプレートの作成方法がまだわかりません。完成したら更新します。

4

4 に答える 4

2

最後に私の友人から助けを得ました。

テンプレート

<script id="template" type="text/x-jquery-tmpl">
{{each(i, invoiceItem) invoiceItems}}
    <li>
    {{each(j, property) $item.getProperties(invoiceItem) }}
       ${invoiceItem[property]} >>
    {{/each}}
    </li>
{{/each}}
</script>

ヘルパー関数

var functionHelpers = {
getProperties: function(invoiceItem) {
    var properties = [];

    for(var key in invoiceItem) {
        properties.push(key);
    }

    return properties;
}

};

ここに動作例jsFiddleがあります

于 2012-01-25T16:57:33.837 に答える
1

jQuery テンプレートはもうありません:

http://weblogs.asp.net/stevewellens/archive/2011/12/01/goodby-jquery-templates-hello-jsrender.aspx

于 2012-01-24T22:51:48.647 に答える
0

なぜループする必要があると思うのかわかりません。jquery.tmplがループを実行しています。${}必要なマークアップのデータを出力するには、jsfiddleを使用する必要があります。

于 2012-01-24T23:02:52.703 に答える
0

私は行きます:角度

テンプレートのレンダリングだけでなく (テンプレートをより動的にすることもできます)、ほとんどの場合非常に歓迎される双方向のデータ バインディングも得られます。

于 2013-05-10T06:33:34.710 に答える