我不知道问题是什么,我有这个片段来显示单个项目,但它没有像假设的那样工作,我做了什么?
出版物文件:
Meteor.publish('SingleSchool', function (myslug) {
check(myslug, String);
if (!this.userId) {
throw new Meteor.Error('Not authorized');
return false;
} else {
return SchoolDb.find({slug: myslug});
}
})
模板基本订阅:
Template.view.onCreated(function () {
var instance = this;
instance.autorun(function () {
var slug = FlowRouter.getParam('myslug');
return Meteor.subscribe('SingleSchool', slug);
});
});
路线:
FlowRouter.route('/school/:myslug', {
name: 'view',
action: function (params) {
BlazeLayout.render('sidebarschool', {sidebars: 'view'});
}
})
模板文件:
<template name="view">
{{#if currentUser}}
{{#if Template.subscriptionsReady }}
{{#if SingleSchool}}
{{#with SingleSchool}}
<p>{{varibablecalled}}</p>
{{/with}}
{{else}}
<p>Loading...</p>
{{/if}}
{{/if}}
</template>
答案 0 :(得分:0)
您是否初始化了您尝试在模板中阅读的SingleSchool
个收藏集?
另外,请不要忘记这是集合,因此您应该SingleSchool.findOne({slug:...})
来获取所需的项目。
顺便说一下,你的模板文件看起来很混乱:两个<template...>
标签。