使用服务器/客户端文件夹时meteor反应性中断

使用服务器/客户端文件夹时meteor反应性中断,meteor,Meteor,所以我做了一些非常简单的事情来测试Meteor中的反应性,但是当我制作一个服务器和客户端文件夹时,反应性中断了。我再也无法手动编辑数据库并在浏览器中立即看到更改 模板: <template name="hello"> <input type="button" value="Click" /> {{#each tt}} {{test}} {{/each}} </template> server/testS.js: Test

所以我做了一些非常简单的事情来测试Meteor中的反应性,但是当我制作一个服务器和客户端文件夹时,反应性中断了。我再也无法手动编辑数据库并在浏览器中立即看到更改

模板:

<template name="hello">
  <input type="button" value="Click" />
    {{#each tt}}
        {{test}}
    {{/each}}
</template>
server/testS.js:

Test = new Meteor.Collection("test");

Meteor.methods(
{
    set: function()
    {
        Test.insert({test: "test 1"});
    },
    get: function()
    {
        return Test.find().fetch();
    }
});

使用此文件夹结构时,我缺少哪些内容?

以下是一个问题

Meteor.call('get', function(error, result) {
    Session.set('aa', result);
});
这种情况在您的情况下只发生一次
Meteor.call
通常指的是一个单独的请求,与发布/订阅模式完全不同。在这种情况下,您将体验到的唯一“反应性”是手动执行
Session.set('aa',result)

如果要在客户机/服务器数据库之间进行响应,则需要设置发布/订阅代码(请参阅)。默认情况下,数据库中的所有文档都通过自动发布包发布到客户机,因此请记住这一点。这是为了自动允许您在客户端上执行类似于
Collection.find()
的操作,它返回一个游标,默认情况下是被动的

换句话说,您的
Meteor.call
是多余的。客户端上已存在
测试
集合,允许您执行以下操作

Template.hello.helpers({
    tt: function() {
        return Test.find();
    }
});
Template.hello.helpers({
    tt: function() {
        return Test.find();
    }
});