在服务器上,我定义了一个包含所有可用商店的哈希。 E.g:
stores = {
"workspaces": {"target":"\/workspaces\/","idProperty":"_id","sortParam":"sortBy"},
"workspaceUsers": {"target":"\/workspaces\/:workspaceId\/users\/","idProperty":"_id","sortParam":"sortBy"}
}
这显然是由服务器生成的。
客户端定义了一个函数stores()
,它是这样的:
stores( 'workspaceUsers', { workspaceId: 343434 } ) => A store with target set as /workspaces/34343434/users
stores( 'workspaceUsers', { workspaceId: 454545 } ) => ANOTHER store with target set as /workspaces/454545/users
stores()
函数缓存了一些东西。这意味着请求:
stores( 'workspaceUsers', { workspaceId: 343434 } )
将返回上一次调用的SAME商店。商店是可观察和缓存的。
现在我的问题:这是一个理智的方式吗?这种解决方案的效果是stores( 'workspaceUsers', { workspaceId: 343434 } )
和stores( 'workspaceUsers', { workspaceId: 343434 } )
将创建具有两个不同目标的两个不同存储,但它们将有效地指向服务器上的相同数据(workspaceId
这里将采取行动作为一个过滤器,显然)。
你看到我在做什么有什么愚蠢的吗?有更好的方法吗?