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