【发布时间】:2015-08-28 14:40:15
【问题描述】:
我正在将 MeteorJS 集合与 Packer 集成以实现类似 Pinterest 的界面。
我有一个问题,当一个新项目被添加到由 Packery(或 Masonry,同样的问题)呈现的集合中时,新项目只是漂浮在容器的左上角,而不是通过Packery 布局处理器。
triggerMasonryLayout = function () {
var $container = $('#masonry-layout');
console.log("AUTORUN PACKERY", $container);
$container.packery({
itemSelector: '.item',
gutter: 20,
columnWidth: 300
});
$container.packery();
}
Template.bookingsProfileItem.onRendered( function() {
triggerMasonryLayout();
});
<template name="bookingsProfileItem">
<div class="item">
...
<div id="masonry-layout">
{{#each properties}}
{{> bookingsProfileItem}}
{{/each}}
</div>
【问题讨论】:
-
如果你把它放在tracker.afterFlush里面会发生什么?
Tracker.afterFlush(function(){ triggerMasonryLayout();}) -
同样的问题。我切换到另一个似乎可以解决问题的工具atmospherejs.com/robodo/masonrify