如何从使用meteor-boilerplate创建的Meteor项目中返回代码集合?

时间:2015-02-13 11:00:51

标签: meteor-collections

这是我正在使用的代码:

Contacts = new Mongo.Collection('contacts');
Template.contact.helpers({
  contact: function() {
  return Contacts.find({});
  }
});

但HTML不会返回该集合。

2 个答案:

答案 0 :(得分:1)

如果你看the meteor-boilerplate website,你可以看到

  

"不安全"和"自动发布"默认删除!

默认情况下,Meteor包含autopublish包,它使数据库中的所有数据都可供客户端使用。这仅适用于早期开发,任何实际项目都将删除它。所以meteor-boilerplate默认删除它。

如果没有autopublish,您需要自己发布数据。你可以试试这个:

// server code
Meteor.publish("contacts", function () {
    return Contacts.find();
});

// client code
Meteor.subscribe("contacts");

然后您现有的代码应该可以使用。

有关详细信息,请参阅Meteor文档中的publish and subscribe

答案 1 :(得分:0)

在HTML文件中,您需要定义模板:

<template name="Contacts"> 
{{#each contacts}}
    {{name}}
{{/each}}
</template>

在您的java脚本中,您将定义帮助程序模板并返回Contacts集合。

Contacts = new Mongo.Collection('contacts');
    Template.Contacts.helpers({
        'contacts': function(){
            return Contact.find()
        }

});

查看本教程以获取更多信息 - How To Create Templates in Meteor - Meteor Tutorial