我遇到Flow Router或模板级订阅的问题,但数据没有在页面上呈现。
只是问题不是我在这里粘贴的内容我已经包含了一个指向整个github仓库的链接:https://github.com/adjohnston/checkr-meteor
LIB / routes.js
listRoutes.route('/:slug', {
name: 'list',
subscriptions: function (params) {
this.register('singleList', Meteor.subscribe('singleList', params.slug));
},
action: function () {
FlowLayout.render('mainLayout', {
main: 'list'
});
}
});
服务器/公开/ lists.js
Meteor.publish('singleList', function (slug) {
return Lists.find({slug: slug});
});
客户端/列表/ list.js
Template.list.helpers({
singleList: function () {
return Lists.find();
}
});
客户端/列表/ list.html
<template name="list">
{{#if isSubReady}}
{{#with singleList}}
<h2>Name: {{name}}</h2>
{{/with}}
{{/if}}
</template>
更改将Lists.find()返回给Lists.findOne(),因为发布'singleList'只返回一个结果。
客户端/列表/ list.js
Template.list.helpers({
singleList: function () {
return Lists.findOne();
}
});
答案 0 :(得分:2)
尝试将singleList
助手更改为findOne
:
Template.list.helpers({
singleList: function () {
var slug = FlowRouter.getParam("slug");
return Lists.findOne({slug: slug});
}
});
现在您正在尝试显示游标的name
属性,这是find()
返回的内容。你的车把也不需要{{#with singleList}}
。