0

これを行うバックボーンフェッチビューメソッドがあります。

var ResultsView = Backbone.View.extend({
  template : _.template($("#result_template").html()),
  render : function() {
    this.collection.each(function(result) {
      var $output = $(this.template(result.toJSON()));
      var $container = $('#result_content');
      $container.append($output)
      $container.masonry('appended', $output);
    }, this);
    return this;
  }
});

私がやろうとしているのは、結果コレクション内のすべてのアイテムに対してです。ここに表示されているのと同じ方法で、#result_contentdivに追加します。http://masonry.desandro.com/demos/adding- items.html

ここでの問題は、レイアウトが埋められていないことです(現時点では、1つの列にすぎません。次のように、このすべての最後にreloadを呼び出す必要があります。

$container.masonry('reload')

それは私が望むものではありません。上から下に追加したい。

4

1 に答える 1

2

その行を変更し$container.prepend($output).masonry('reload');て後続の行を削除$container.masonry('appended', $output);し、最後に「リロード」を呼び出さないようにします。

于 2012-09-27T03:40:07.367 に答える