我在使用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'
});
}
});
服务器/publication/lists.js
Meteor.publish('singleList', function (slug) {
return Lists.find({slug: slug});
});
客户/列表/list.js
Template.list.helpers({
singleList: function () {
return Lists.find();
}
});
client / lists / 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();
}
});
最佳答案
尝试将您的singleList
帮助器更改为findOne
:
Template.list.helpers({
singleList: function () {
var slug = FlowRouter.getParam("slug");
return Lists.findOne({slug: slug});
}
});
现在,您正在尝试显示光标的
name
属性,这是find()
返回的内容。您的车把也不需要{{#with singleList}}
。关于javascript - meteor 内容未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30765390/