Jua*_*anO 4 reactive-programming meteor
我有个疑问.不确定是否可能并且没有找到关于它的明确答案.
是否可以向服务器变量添加"观察者",以便在值更改时,我可以更新视图(客户端)?
假设我有一个var counter = 0和一个Timeout函数,每分钟更新一次计数器变量.
我想<span>{{counter}}</span>在客户端更新a .我需要在此服务器变量中添加一个"观察者"并使其具有反应性.
提前致谢!
正确的方法是在集合中创建一个集合并存储该变量(即使这意味着您有一个包含一个文档的集合).
在服务器/客户端公共代码上:
Counter = new Mongo.Collection("counter");
Run Code Online (Sandbox Code Playgroud)
在客户端做一个帮手:
Template.myTemplate.helpers({
counter: function () {
return Counter.findOne();
}
});
Run Code Online (Sandbox Code Playgroud)
在服务器上确保有一个计数器:
if (Counter.find().count() === 0) {
Counter.insert({value: 0});
}
Run Code Online (Sandbox Code Playgroud)
然后,在服务器上递增计数器:
Counter.update({}, {$inc: {value: 1}});
Run Code Online (Sandbox Code Playgroud)
如果要跟踪多个计数器,可以使用类似的方法 - 只需在集合中插入多个计数器并按_id字段引用它们.
| 归档时间: |
|
| 查看次数: |
1939 次 |
| 最近记录: |