我有个疑问。不确定是否可能,也没有找到明确的答案。
是否可以向服务器变量添加“观察者”,以便当值发生变化时,我可以更新视图(客户端)?
假设我有一个var counter = 0
超时函数每分钟更新一次计数器变量。
我想更新一个<span>{{counter}}</span>
在客户端。我需要向该服务器变量添加一个“观察者”并使其反应性的。
提前致谢!
执行此操作的正确方法是创建一个集合并将该变量存储在集合中(即使这意味着您有一个包含一个文档的集合)。
在服务器/客户端上通用代码:
Counter = new Mongo.Collection("counter");
在客户端创建一个助手:
Template.myTemplate.helpers({
counter: function () {
return Counter.findOne();
}
});
在服务器上确保有一个计数器:
if (Counter.find().count() === 0) {
Counter.insert({value: 0});
}
然后,在服务器上增加计数器:
Counter.update({}, {$inc: {value: 1}});
如果您想跟踪多个计数器,您可以使用类似的方法 - 只需将多个计数器插入到集合中并通过_id
field.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)