使用Durandal,我在我的应用程序中有两个视图模型,比如vmCompanies & vmEmployees。我有两种观点,一种是针对每种视图模型和每种视图内的,您可以看到所有公司&所有员工。Durandal:从另一个访问一个视图模型
但是,当我加载我的员工时,在DB中他们有一个他们受雇于哪家公司的ID。我想要做的是以下伪:
- 从vmEmployees内,得到一个参考vmCompanies
- 如果vmCompanies已经初始化(我知道这是99%的时间),得到一个参考,所以我可以使用类似linq.js找到特定的公司如果vmCompanies尚未初始化(又名该员工适用于
- :激活),这样做
这我可以避免vmEmployees拥有自己的compani内部缓存的要求ES。到目前为止,我一直无法弄清Durandal如何查询并询问“给我这个已经加载的视图模型”。这似乎是内部的,因为当我在视图之间导航时,它们被缓存并且不被重新加载(与VM相同)......我迄今一直无法看到如何才能做到这一点。
围绕它玩了一下,就像这种方法。我遵循这个模式,我有一个托管应用程序的shell模型。所以我想我可以将缓存的对象放在该模型和每个视图模型上,只需使用require()获取对始终加载的模块的引用,并只访问/修改那个属性即可。我尝试使用单独的缓存模型,但只有我的一个视图可以看到它... –
如果你还没有,你可能会想看看breezeJS。它对缓存有很好的支持。 –
BreezeJS对我来说不是一个明确的选择(SharePoint 2013),我无法在该框上添加任何服务器端代码。我只能使用现有的库(客户端JavaScript OM)和OOTB REST服务。 –