0

望ましい出力:

  <script id="table-template" type="text/html">
      <table>
        <thead>
           ADD THE HEADER NAMES HERE DYNAMICALLY,
        </thead>        
        <!-- insert collection items -->
        <tbody></tbody>
      </table>
    </script>

上記のテンプレートを生成しようとしていますが、ここでの問題はヘッダー名です

ポートフォリオ額 Fccy Quantity アカウントの交換額

上記のように固定されたものになり、ユーザーは任意の数のヘッダー名を付けることができます。

これは私が行ったコードです:

Grid.Hexgrid = Backbone.Marionette.CompositeView.extend({
         template: "#header", 
         initialize : function (options){
           this.header = options.header;
        },
        onRender : function(){
            ADD THE HEADER INFORMATION HERE WHICH WILL COME UNDER <THEAD></THEAD>
        },

      appendHtml: function(collectionView, itemView, index){
        collectionView.$("tbody").append(itemView.el);
      }
    });

BOLD私は手紙で私のコメントを与えました。誰かがこれを完了するのを手伝ってくれませんか。

4

2 に答える 2

1

ビューでテンプレート プロパティを設定する必要はありません。関数 getTemplate がそれを行うからです。

とにかく、ヘッダーを動的に生成するには、次のようにヘッダーのデータをテンプレートに渡すだけの別のルートをお勧めします。

serializeData: function() {
    var data = Backbone.Marionette.ItemView.prototype.serializeData.apply(this, arguments);
    data.header = this.header;
    return data;
}

そして、テンプレートで次のことができます。

<% _.each(header,function(h){ %>
    <div class="span2"><%= h %></div>
<% }); %>
于 2013-07-16T10:11:48.833 に答える
0

次の方法を使用して行われます。

onRender : function() {
            headerInformation = this.header;
            for ( var column in headerInformation) {
                this.$("tr").append("<th>" + headerInformation[column] + "</th>");
            }
        }

よろしくお願いします

于 2013-07-16T12:06:57.640 に答える