我知道使用ReactiveVar和Session变量的区别,在基本层面上是本地与全局变量的区别。ReactiveDict就像一个本地的Session对象。
但是如果你已经使用了ReactiveVar,为什么还要使用ReactiveDict呢?ReactiveDict似乎没有比ReactiveVar更有优势。
但是如果你已经使用了ReactiveVar,为什么还要使用ReactiveDict呢?ReactiveDict似乎没有比ReactiveVar更有优势。
ReactiveDict
(RD)和ReactiveVar
(RV)之间的主要区别:
set
接受键/值对,并且有delete
和clear
方法。底线是它让你将反应性数据聚合到一个变量中。老实说,在大多数用例中,这并不是很有趣,但请继续阅读。all
方法,返回所有键/值对,并在每个键上注册反应性依赖关系。主要好处是,如果您有一组相关的反应性数据,您可以在字典的任何部分更改时触发autorun
。要使用一组RV来实现这一点,您需要在每个RV上调用get
。ReactiveDict
源代码
"... 用于与追踪器一起使用的通用响应式数据类型。"
"如果您为其构造函数提供名称,则其内容将在热代码推送客户端代码更新期间保存。"