0

我有点理解 DynamicView 是什么。然而,与此同时,我对它的真正含义感到困惑。

根据我读过的文章,我知道如何使用它,例如这里。然而,它是什么?

4

1 回答 1

1

假设您有一个数据库,您运行一个查询,例如“给我所有标记为已登录的用户”。您会取回该结果,并出于申请的目的对其进行处理。如果您在不同时间运行相同的查询,您将获得不同的结果集。在 LokiJS 中,集合是事件发射器,动态视图被注册以监听这些事件。这意味着他们知道集合中发生的更改,并将其应用于视图的结果集。在上述情况下,如果您创建一个动态视图,无论何时调用,data()您都会得到与数据库当前状态相对应的结果,而不是创建视图时的结果。您运行一次查询,就可以忘记更新它的结果,动态视图会为您执行此操作(通过data()方法,这是惰性的)。这可能非常有用——但它也会阻止您在应用程序中存储状态历史记录,因此请谨慎使用!动态视图的正确定义是自实现视图。

于 2017-10-13T04:39:25.030 回答