在帮助程序外部未定义的客户端上获取流星
Meteor fetch on client undefined outside of helper
我正在尝试使用以下方法获取集合中的条目:
客户/视图/主页.js:
criticalCrewNumber = ConfigValues.find({
name: 'criticalCrewNumber'
}).fetch()[0].value;
但是我收到错误:
Uncaught TypeError: Cannot read property 'value' of undefined
如果我在浏览器控制台中运行代码,则所需的值将以字符串形式返回。
我已经尝试了各种方法,例如使用findOne
;将代码放在应用程序的其他位置;使用铁路由器waitOn
进行订阅等。到目前为止,每一次尝试都失败了,因为我最终得到了undefined
.
以下是集合的定义、发布和订阅方式:
lib/config/admin_config.js:
ConfigValues = new Mongo.Collection("configValues");
ConfigValues.attachSchema(new SimpleSchema({
name: {
type: String,
label: "Name",
max: 200
},
value: {
type: String,
label: "Value",
max: 200
}
}));
both/collections/eventsCollection.js:
if (Meteor.isClient) {
Meteor.subscribe('events');
Meteor.subscribe('config');
};
服务器/库/集合.js
'''Meteor.publish('events', function () { 返回 Events.find(); });
Meteor.publish('config', function () { 返回 ConfigValues.find(); });```
有谁知道发生了什么?谢谢。
考虑使用 ReactiveVar
(和Meteor.subscribe
回调):
criticalCrewNumber = new ReactiveVar();
Meteor.subscribe('config', {
onReady: function () {
var config = ConfigValues.findOne({name: 'criticalCrewNumber'});
if (config) {
criticalCrewNumber.set(config.value);
} else {
console.error('No config value.');
}
},
onStop: function (error) {
if (error) {
console.error(error);
}
}
});
相关文章:
- 如何在mongoDB和流星中只获取不同的值
- 在流星中获取数据库版本
- 正在获取GCM流星应用程序的注册ID
- 从流星服务器到客户端获取单个值
- 流星 - 页面刷新导致在为路由器获取数据时闪烁
- 获取客户端流星上的多个用户数据
- 流星如何从服务器获取到客户端的变量值
- 在帮助程序外部未定义的客户端上获取流星
- 流星:如何获取用户帐户包以将新的用户文档写入远程集合
- 是否可以在不使用帐户密码包的情况下获取流星用户ID
- 流星 - 从发布请求中获取文件的最佳方法是什么
- 如何获取流星中的形状值
- 如何使用流星/javascript从url获取图像
- 流星和语义UI,模态获取价值
- 如何在流星函数中获取异步数据
- 获取{{>流星1.4中的atForm}}模板
- 流星表单获取带有动态名称的输入值
- 流星-从tr数据属性中获取{{_id}},然后进行必要的mongo更改
- 从流星的请求对象中获取IP地址
- 流星-从自定义属性中获取值