在LokiJS的外行人术语中,DynamicView是什么?

时间:2017-10-12 16:57:57

标签: lokijs

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

我知道如何根据我读过的文章使用它,例如here。但是,它是什么?

1 个答案:

答案 0 :(得分:0)

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