2013-07-06 29 views
0

比方说,我有一个对象如何使流星中的对象成为被动对象?

var object = { 
name: "Example", 
value: 1 
} 

我希望把它放在一个会话

Session.set("Display", object); 

,并有一个把手模板显示在页面上。

然后,如果我做

object.value += 1 

我希望页面立即显示2无需调用Session.set(“显示”,对象);再次。这可能吗?

回答

2

之后你必须使用Session.set。如果你想避免这种情况,你必须制造自己的反应性物体(它们的核心与Session.set相同)。

如果你还是想去做这种方式存在于大气库了一个叫做reactive-extra它可以帮助你做出你自己的反应对象:

var obj = new ReactiveObject({name: "Example",value: 1}); 
obj.value +=1; 
+0

有叫Meteor.render(功能)和Deps.autorun()使用反应性数据源并在其依赖关系发生变化时运行。我无法使用它们来做到这一点? – Euphe

+1

对于所有这些,你仍然需要一种方法来告诉Meteor依赖关系已经改变(如Session或Deps.depends)。然后它会告诉Deps.autorun/Meteor.render再次运行新值。 – Akshat