javascript - Meteor react 收集数据

标签 javascript mongodb meteor meteor-blaze

我通过助手获取预订/数据:

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/

相关文章:

javascript - 尝试让 .modal ('show' )从右侧而不是顶部滑动元素

mongodb - MongoDB MapReduce是否锁定数据库

node.js - Nodejs express API 一个 sequelize(db) 实例到所有模型

javascript - 如何使用 Meteor 模板助手编辑 Iron-Router 中作为参数传递的值?

javascript - jQuery:在滚动时平滑改变宽度

javascript - 链接到页面坐标

IOS 设备无法连接到 digitalocean 上的 nginx 托管 meteor 应用程序

meteor - 如何让手机屏幕一直亮着

javascript - 如何计算屏幕外有多少元素?

java - 查询 MongoDB GridFS 元数据 (Java)