Meteor:单个 post 视图,通过 id 和流路由器未解析来自 collection 的任何数据
Meteor: single post view, via id and flow router is not parsing any data from the collection
我试图通过单击显示 'see more' 的 link 从我的 #each 项目循环中打开一条记录到它自己的视图中,这将带我到单篇文章。我设置了我的 Flow 路由器并使其正常工作,但我看不到应该输入的数据。
单篇文章的模板助手如下所示
Template.collectionSingle.helpers({
articles: function () {
var id = FlowRouter.getParam('_id')
return theCollection.findOne({_id: id});
}
});
}
我的路线是这样的
FlowRouter.route('/collection/:_id', {
name: 'collection',
action() {
BlazeLayout.render("AppLayout", {main: "collectionSingle"});
}
});
模板 "collectionSingle" 看起来像这样
<template name="collectionSingle">
<h1>{{title}}</h1>
<h1>This is a test</h1>
<img src="{{thumbnail}}" alt="" />
</template>
当我导航到 http://localhost:3000/collection/thePublication-0
我只看到测试消息 'This is a test',但我没有看到 {{title}} 和缩略图。
此外,当我改变时:
return theCollection.findOne({_id: id});
给我的另一个 collections :
return OtherCollection.findOne({_id: id});
http://localhost:3000/collection/thePublication-0
保持不变。
我怎样才能成功地为我的每篇文章创建一个单独的文章页面,并让它们 link 使用流量路由器正确编辑?
您需要实际使用返回数据上下文的模板助手:
<template name="collectionSingle">
<h1>{{title}}</h1>
<h1>This is a test</h1>
{{#with articles}}
<img src="{{thumbnail}}" alt="" />
{{/with}}
</template>
由于您的 articles
助手 returns 您使用了一个文档 {{#with articles}}
。如果它返回一个游标或数组,您将使用 {{#each articles}}
对其进行循环。通常的约定是前者用单数形式,后者用复数形式。
我试图通过单击显示 'see more' 的 link 从我的 #each 项目循环中打开一条记录到它自己的视图中,这将带我到单篇文章。我设置了我的 Flow 路由器并使其正常工作,但我看不到应该输入的数据。
单篇文章的模板助手如下所示
Template.collectionSingle.helpers({
articles: function () {
var id = FlowRouter.getParam('_id')
return theCollection.findOne({_id: id});
}
});
}
我的路线是这样的
FlowRouter.route('/collection/:_id', {
name: 'collection',
action() {
BlazeLayout.render("AppLayout", {main: "collectionSingle"});
}
});
模板 "collectionSingle" 看起来像这样
<template name="collectionSingle">
<h1>{{title}}</h1>
<h1>This is a test</h1>
<img src="{{thumbnail}}" alt="" />
</template>
当我导航到 http://localhost:3000/collection/thePublication-0 我只看到测试消息 'This is a test',但我没有看到 {{title}} 和缩略图。
此外,当我改变时:
return theCollection.findOne({_id: id});
给我的另一个 collections :
return OtherCollection.findOne({_id: id});
http://localhost:3000/collection/thePublication-0
保持不变。
我怎样才能成功地为我的每篇文章创建一个单独的文章页面,并让它们 link 使用流量路由器正确编辑?
您需要实际使用返回数据上下文的模板助手:
<template name="collectionSingle">
<h1>{{title}}</h1>
<h1>This is a test</h1>
{{#with articles}}
<img src="{{thumbnail}}" alt="" />
{{/with}}
</template>
由于您的 articles
助手 returns 您使用了一个文档 {{#with articles}}
。如果它返回一个游标或数组,您将使用 {{#each articles}}
对其进行循环。通常的约定是前者用单数形式,后者用复数形式。