无法使用流星显示光标返回的值
unable to display the returned value from a cursor using meteor
我有一个模板,看起来像这样:
<template name="item_list">
{{#each items}}
<div>{{name}}</div>
{{/each}}
</template>
这个模板有一些客户端js代码:
Template.item_list.helpers(
{
items: function() // find items
{
Meteor.call('getId', Meteor.userId(), function(error, result)
{
if(error)
{
console.log(error.message);
}
else
{
console.log(result); // correct id returned
Meteor.call('findItemById', result, function(error, result)
{
if(error)
{
console.log(error.message);
console.log(error.stack);
}
else
{
console.log(result); // this contains 2 objects with the correct values
return result;
}
});
}
});
}
});
});
当我记录结果时,我在控制台中得到了正确的对象,但我的模板仍然是空的。返回的对象中不存在列"name"。像这样:
[Object, Object]
0: Object
_id: "Mcqf3Hh2ARH2NJsDB"
name: "item 1"
1: Object
_id: "e9mkxgNqHgM3czMvE"
name: "item 2"
您必须记住javascript是异步的。当您在回调中使用"return"时,它不会返回到原始方法调用。它将返回回调方法。
您必须使用Session
变量连接数据,并运行创建模板的初始调用。
Template.item_list.helpers(
{
items: function() {
return Session.get('items');
}
});
Template.item_list.created = function() {
Meteor.call(... function(err,result) {
....
Session.set('items', result);
....
}
}
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- 如何在javascript中按退格键时防止光标返回
- 显示 404 找不到“蛞蝓”模板,当发布返回空光标 - 流星 - 铁路由器
- 我想在点击事件发生后将光标更改为等待,然后返回默认值
- Meteor.js:返回一个光标的非反应快照
- 当光标聚焦在一个字段时,Phonegap返回按钮不工作
- 无法使用流星显示光标返回的值