在Meteor

时间:2015-06-11 19:17:20

标签: meteor

我已删除了自动发布,现在为初学者提供了简单的publishsubscribe

Meteor.publish("records", function() {
  return Records.find({});
});

Meteor.subscribe('records');

在Mongol中,我可以看到我的嵌套数据项,它是一个geoJSON对象。但是,当我尝试使用此处访问该项时,它不起作用,除非自动发布... ...

Template.recordView.rendered = function() {
    var geoData = Template.currentData().loc;
};

我尝试过“loc”和parentData()。loc。它们都没有定义。什么有autopublish删除,我还没有放回去?

1 个答案:

答案 0 :(得分:0)

您在哪里订阅数据?我建议您将其委托给您的模板。

Template.recordView.onCreated(function() {
    var self = this;
    self.autorun(function() {
        // Do reactive stuff here
        Meteor.subscribe("records");
    });
});

Template.recordView.helpers({
    // Data is now available here
    'geoData': function() {
        return Records.find().loc;
    }
});

现在您可以访问数据模板级别。做任何你想做的事情并返回一个帮手。在你的.html:

<template name="recordView">
...
{{#if Template.subscriptionsReady}}
   {{geoData}}
{{else}}
   Loading...
{{/if}}
...
</template>

在呈现您在助手中提供的内容之前,您将等待所有数据到达。