【发布时间】:2018-03-07 18:30:37
【问题描述】:
我遇到了这种奇怪的情况,我无法弄清楚问题出在哪里。集合有一个分页,在导航时可以正常工作。我在一个集合中有 5 个文档,每个文档在一个页面上显示每 2 个文件来显示分页。每个文档都有一个 url 链接,单击该链接会显示该文档的完整页面。
现在的挑战是,如果我单击第一页上的文档,它会显示完整的记录,但如果我导航到下一页并单击一个文档,它会显示一个空白页。我已经尝试了所有我能做的,但还没有得到什么是正确的。
这些较早的帖子是对当前帖子的基础:Publish and subscribe to a single object Meteor js、Meteor js custom pagination。
这是帮手
singleSchool: function () {
if (Meteor.userId()) {
let myslug = FlowRouter.getParam('myslug');
var subValues = Meteor.subscribe('SingleSchool', myslug );
if (myslug ) {
let Schools = SchoolDb.findOne({slug: myslug});
if (Schools && subValues.ready()) {
return Schools;
}
}
}
},
这是火焰模板
<template name="view">
{{#if currentUser}}
{{#if Template.subscriptionsReady }}
{{#with singleSchool}}
{{singleSchool._id}}
{{singleSchool.addschoolname}}
{{/with}}
{{/if}}
{{/if}}
</template>
【问题讨论】:
-
你能把
console.log('GOt Slug');放在let myslug = FlowRouter.getParam('myslug');之后,让我们知道是否捡到了slug。 -
谢谢。生病 。 BRB
-
是的。确认的。它正在看到蛞蝓。打印在控制台上。
-
还有你为什么要在助手内部订阅。由于您的
slug是动态的,正如@Jankapunkt 在上一个问题中所建议的那样,您必须定义一个 ReactiveVar/ReactiveDict 以获取您的订阅动态。为此,您可以在Template.view.onCreated(function{//autorun here});中使用this.autorun(()=>{//subscribe here using reactive-var});
标签: javascript pagination meteor-blaze subscription