【发布时间】:2016-10-22 20:21:09
【问题描述】:
我在我的一个项目中使用 Meteor,我需要简单地在流星模板上显示数据,比如 inventory.html。我在服务器端有一个方法,它点击查询并从 mongoDb 获取数据。我从客户端调用服务器端方法并在客户端获取所有数据,但是由于到达客户端的数据需要一些时间,因此模板在没有任何值的情况下呈现,所以我将如何在模板或任何技术,以便我可以显示我的值或数据。
目前我正在使用服务来设置和获取数据,即 testService。
var testservice = require('./TestService');
Template.allInventory.rendered = function() {
Template.allInventory.helpers({
productDetails: function() {
return testservice.getData();
}
})
}
channels.js 我在其中设置来自 DB 的数据
var testservice = require('./TestService');
Template.channels.rendered = function(){
Meteor.call('getDetialsFromDB',function(err, res){
if(res){
console.log("res is...getAllProductDetail.."+res);
testservice.setData(res);
}
if(err){
console.log("Error while calling getAllProductDetail");
}
})
如果我在不使用服务的情况下调用上述方法而不是在没有任何数据的情况下渲染模板,因为来自后端的数据需要一些时间,例如:
Template.allInventory.rendered = function() {
Template.allInventory.helpers({
productDetails: function() {
var data;
Meteor.call('getDetialsFromDB',function(err, res){
if(res){
console.log("res is...getAllProductDetail.."+res);
data = res;
}
if(err){
console.log("Error while calling getAllProductDetail");
}
})
return res;
}
})
所以我只想渲染来自 Meteor 之一的数据。从客户端调用的服务器端方法或请给出任何示例
如有任何帮助,我们将不胜感激! 谢谢
【问题讨论】:
标签: node.js templates meteor meteor-blaze