Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MeteorJS Packery布局在重绘时有重叠项_Javascript_Html_Meteor_Packery - Fatal编程技术网

Javascript MeteorJS Packery布局在重绘时有重叠项

Javascript MeteorJS Packery布局在重绘时有重叠项,javascript,html,meteor,packery,Javascript,Html,Meteor,Packery,我不熟悉编码,也不熟悉Meteor,所以在这一过程中我也犯了不少错误——到目前为止,我已经设法解决了这些错误,但这一次让我彻底难倒了 我使用Packey来布局一些包含项目信息的div,这些div包含许多div以及每个项目中的任务信息。到目前为止还不错,当模板第一次加载时,布局工作得很好 当我将新任务添加到其中一个项目(该项目已添加到“任务”集合)时,布局会重新绘制,但该项目(现在长1行)会与布局下的下一个项目重叠 我使用了这里的答案(),但这不适用于重画 projects.html: <t

我不熟悉编码,也不熟悉Meteor,所以在这一过程中我也犯了不少错误——到目前为止,我已经设法解决了这些错误,但这一次让我彻底难倒了

我使用Packey来布局一些包含项目信息的div,这些div包含许多div以及每个项目中的任务信息。到目前为止还不错,当模板第一次加载时,布局工作得很好

当我将新任务添加到其中一个项目(该项目已添加到“任务”集合)时,布局会重新绘制,但该项目(现在长1行)会与布局下的下一个项目重叠

我使用了这里的答案(),但这不适用于重画

projects.html:

<template name="projects">
  <div class='grid' id='allProjects'>
    {{#each project}}
      <div class='grid-item' id='project'>
        <div project content goes in here>
        </div>
      {{#each task}}
        <div id='task'>
          <div task content goes in here>
          </div>
        </div>
      {{/each}}
      </div>
    {{/each}}
  </div>
</template>
我认为这与重新绘制布局的时间有关,因为当我向项目中添加另一个任务(使用模式窗口)时,布局会在模式打开时自动更正


我是否需要延迟布局以允许从集合中加载新任务项?

您是否尝试过使用类似meteor的现成软件包?是的,这就是我目前使用的软件包。我也试过砌石,但也有同样的问题。你试过使用像meteor这样的现成软件包吗?是的,这就是我目前正在使用的软件包。我也试过砌石,但也有同样的问题。
Template.projects.onRendered(function(){
  this.find('.grid')._uihooks = {
    insertElement: function(node, next){
      triggerPackeryLayout();
      $('.grid').append(node);
      $('.grid').packery('appended', node);
    }
  };
});

function triggerPackeryLayout(){
  var $grid = $('.grid');
  $grid.packery({
    itemSelector: '.grid-item'
  });
}