我通过助手获取预订/数据:
Template.dashboard.helpers ({
getUserBookings: function() {
_deps.depend();
var user = Meteor.user();
getBookingsClient(user.emails[0]['address'], function(err, res){
if ( err ) { console.log("Booking get error.");
} else {
console.log("Booking get correct.");
Session.set('bookingResponse', res);
}
});
return Session.get('bookingResponse') || "";
}
在我的模板中:
{{#if getUserBookings}}
{{#each getUserBookings}}
{{bookingName}}
{{/each}}
{{/if}}
如何使这些数据具有反应性?
我的意思是,当我在我的 mongoDB 中更改例如 bookingName
时,它会立即在网站上更改吗?
更新:
if(Meteor.isClient) {
getBookingsClient = function (email, callback) {
Meteor.call('getBookings', email, callback);
};
}
if(Meteor.isServer) {
getBookings: function (email) {
check(email, String);
var bookings = Bookings.find({'clientDetails.email': email}).fetch();
return bookings;
},
}
最佳答案
扩展 Brendan Turner 的回答:要在 Meteor 中获得 react 性,您需要使用定义的 react 性来源之一或实现文档中所示的 react 性来源:Docs .
任何导致游标(从数据库查询返回)的结果都是 react 性的。要检索游标,您可以使用 Publish and Subscribe模型如图。发布您希望客户端访问的数据,并让代码订阅以检索数据。
模板助手是响应式(Reactive)计算。如果他们有反应性数据源,他们将是 react 性的。
关于javascript - Meteor react 收集数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34664677/