【发布时间】:2015-07-18 22:38:20
【问题描述】:
我正在尝试读取我的MongoDB 数据库中的一个文件。在控制台中响应是正确的,而在我的应用程序中出现以下错误:
未捕获的类型错误:无法读取未定义的属性“iati”
我定义了一个模板助手,它应该返回我的 MongoDB 集合中的某个子字段。但是以下似乎不起作用(我得到了前面提到的错误)。
Template.hello.helpers({
test: function() {
return Test.findOne().iati;
}
});
似乎可行的是返回整个对象:
Template.hello.helpers({
test: function() {
return Test.findOne();
}
});
然后调用模板内的具体字段:
{{test.iati}}
但是,我想使用 JavaScript 脚本中的数据。我究竟做错了什么?
【问题讨论】:
-
您的帮助函数在客户端收到集合中的文档之前运行。
Test.findOne()将评估为undefined,它不具有iati属性(根据您的错误消息)。当您的助手返回Test.findOne()的结果并且您在模板中使用{{test.iati}}时,如果test具有属性iati,{{test.iati}}将仅显示test.iati(否则它不会显示任何内容)。