我正在创建一个图库应用程序,并且我有一个类别栏,这样当我点击其中一个类别时,我希望图库只显示所选类别中的图像。
这是gallery.html
<template name="gallery">
<div class="container col-sm-10">
{{>gallerypost}}
<div class="grid master">
{{#each images}}
<div class="grid-item">
<div class="galleryimage" style="">
{{#if isPortrait this.orientation}}
<img src="{{c.url (nameHelper this.name) width=473 height=646 crop="scale"}}" class="img img-responsive" />
{{else}}
<img src="{{c.url (nameHelper this.name) width=646 height=473 crop="scale"}}" class="img img-responsive" />
{{/if}}
</div>
</div>
{{/each}}
</div>
</div>
client.js
Meteor.subscribe('allimages');
Session.setDefault('category', null);
Tracker.autorun(function(){
Meteor.subscribe('categoryimages', Session.get('category'));
console.log('this is working');
});
publications.js
Meteor.publish('allimages', function(){
return ImageInfo.find();
});
Meteor.publish('categoryimages', function(category){
return ImageInfo.find({category: category});
});
所以我知道我的Session变量有效,因为我在控制台中测试了它。但由于某种原因,数据库没有更新。是因为我使用的网格框架(Masonsry)?导致数据库没有订阅特定数据库的原因是什么?
答案 0 :(得分:0)
您的自动运行中的reloadItems
可能有助于http://masonry.desandro.com/methods.html#reloaditems
$('.container').masonry('reloadItems');