我一定遗漏了一些重要的东西,但这是我的问题。我有一个包含“标题”和“内容”字段的文档集合。
当我导航到特定的网址时,比如说,
http://localhost:3000/document/33ea5676-4f8f-4fe4-99d5-fe094556933d
我从 url 中获取文档 _id,通过存储它Session.set('docID',_id)
,然后想要显示文档的标题。我有一个模板:
<template name='document'>
<h2>My document is called {{document.title}}</h2>
</template>
然后在我的 client.js 文件中,我有:
Template.document.document = function() {
doc = Documents.findOne({'_id':Session.get('docID')});
return doc;
}
但这不起作用:我收到如下错误:
Cannot read property 'title' of undefined
因为,当然,在可以访问该字段之前,必须从数据库中检索文档。如果我打电话,
Template.document.document().title
从控制台,我检索标题。我尝试制作特定于标题的功能,
Template.document.title = function() {
doc = Documents.findOne({'_id':Session.get('docID')});
return doc.title;
}
但这也存在同样的问题。doc.title
数据库检索条目与同时调用引发错误之间似乎存在延迟。
我必须在这里忽略一些基本的东西。谢谢。