Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor:ReactiveVar vs ReactiveDict_Javascript_Meteor_Session Variables - Fatal编程技术网

Javascript Meteor:ReactiveVar vs ReactiveDict

Javascript Meteor:ReactiveVar vs ReactiveDict,javascript,meteor,session-variables,Javascript,Meteor,Session Variables,我知道使用ReactiveVar和Session变量之间的区别在基本层面上是局部变量和全局变量的问题。ReactiveDict类似于本地会话对象 但是如果您已经在使用ReactiveVar,那么为什么还要使用ReactiveDict呢?ReactiveDict似乎与ReactiveVar相比没有任何优势,“…一种用于跟踪器的通用反应数据类型。” “如果为其构造函数提供名称,则其内容将保存在热数据库中 代码推送客户端代码更新。“ 来源:以下是ReactiveDict(RD)和ReactiveVar

我知道使用ReactiveVar和Session变量之间的区别在基本层面上是局部变量和全局变量的问题。ReactiveDict类似于本地会话对象

但是如果您已经在使用ReactiveVar,那么为什么还要使用ReactiveDict呢?ReactiveDict似乎与ReactiveVar相比没有任何优势,“…一种用于跟踪器的通用反应数据类型。”

“如果为其构造函数提供名称,则其内容将保存在热数据库中 代码推送客户端代码更新。“


来源:

以下是
ReactiveDict
(RD)和
ReactiveVar
(RV)之间的主要区别:

  • 顾名思义,RD提供了类似字典的语义:
    set
    接受一个键/值对,它有
    delete
    clear
    方法。底线是它允许您将反应性数据聚集到单个变量中。坦白地说,这在大多数用例中都不是那么有趣,但是请继续阅读
  • RD有一个
    all
    方法,该方法返回所有键/值对,并在每个键/值对上注册一个反应依赖项。主要的好处是,如果您有一组相关的反应式数据,则只要字典的任何部分发生更改,就可以启动
    自动运行。要对一组RVs执行此操作,需要对每个RVs调用
    get
  • 如果您将名称传递给RD构造函数,它将在热代码推送中幸存。事实上,它实际上只是一个RD
  • 在实践中,我发现了一些RDs的用例,但在大多数情况下,您可能会选择RVs

    推荐阅读:
    ReactiveDict