Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Jquery 重新加载时,合理的侧壁断裂_Jquery_Meteor_Reactjs_Image Gallery - Fatal编程技术网

Jquery 重新加载时,合理的侧壁断裂

Jquery 重新加载时,合理的侧壁断裂,jquery,meteor,reactjs,image-gallery,Jquery,Meteor,Reactjs,Image Gallery,我正在为我的网页使用JustizedGallery。当我第一次访问该页面时,库将正确显示。但当我重新加载页面时,它会断开 我用流星和反应 旧代码示例: $(document).ready(() => { $('#gallery').justifiedGallery({ rowHeight: 400, fixedHeight: false, lastRow: 'justify', margins: -3, }); }); 我已经将它放到jQ

我正在为我的网页使用JustizedGallery。当我第一次访问该页面时,库将正确显示。但当我重新加载页面时,它会断开

我用流星和反应

旧代码示例:

$(document).ready(() => {
  $('#gallery').justifiedGallery({
    rowHeight: 400,
    fixedHeight: false,
    lastRow:   'justify',
    margins:   -3,
  });
});
我已经将它放到jQuery setTimeOut()函数中

setTimeout(function(){
  $('#gallery').justifiedGallery({
    rowHeight: 400,
    fixedHeight: false,
    lastRow: 'justify',
    margins: -3,
  });
}, 100);

现在它工作得很好。我只想知道这是解决问题的正确方法?这是为了将来的证明

您不应该像这样运行全局操作DOM的代码。您得到的是实际模板渲染的竞争条件。这有时会随机工作,有时不会,并且总是会与模板引擎发生冲突,这最多会阻碍应用程序的性能

将库创建移动到
Template.onRendered()
方法,并使用
this.$('.gallery')
,而不仅仅是
$('#gallery')
。如果您使用的是React,则等效位置是包含
.gallery
div的演示组件的
componentDidMount
方法



旁注:不要使用ID选择元素,使用类或数据属性。Ids是一种不好的做法,因为您正在创建的组件不可重用,并且可能存在性能问题。

很好的解释。谢谢