0

这是我正在使用的代码:

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

但是 HTML 没有返回集合。

4

2 回答 2

1

如果你看一下流星样板网站,你可以看到

默认情况下删除“不安全”和“自动发布”!

默认情况下,Meteor 包含autopublish使数据库中的所有数据对客户端可用的包。这个只适合早期开发,任何真正的项目都会去掉它。因此,meteor-boilerplate 默认将其删除。

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

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

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

那么您现有的代码应该可以工作。

有关更多信息,请参阅Meteor 文档中的发布和订阅

于 2015-02-13T12:41:17.120 回答
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()
        }

});

查看本教程以获取更多信息 -如何在 Meteor 中创建模板 - Meteor 教程

于 2015-02-13T12:25:56.127 回答