我有代码
datas = new Meteor.Collection("datas")
var data = datas.findOne('101abcde1f2345ac00000001')
if (Meteor.is_client) {
Meteor.startup(function () {
console.log(data.name)
});
}
Run Code Online (Sandbox Code Playgroud)
但我在控制台得到的是一个undefined错误.但是,如果我输入console.log(data.name)网络检查器的javascript控制台(大概是在某种等待后它可以工作.我已经把代码放在Meteor.startup中以确保DOM准备就绪.我可能做错了什么?
看来你正在使用autopublish包.而且(当然),Meteor.startup不等待订阅完成.
通常,我们使用反应式上下文和数据 在Meteor中执行此操作 -
datas = new Meteor.Collection("datas")
if (Meteor.is_client){
Meteor.autosubscribe(function(){
var data = datas.findOne('101abcde1f2345ac00000001');
if (data){ console.log( data.name )}
});
}
Run Code Online (Sandbox Code Playgroud)
任何时候datas集合都有变化(?),Meteor.autosubscribe将调用函数.
| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |