在服务器上,我定义了一个包含所有可用商店的哈希。例如:
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 } )
将返回与上一次调用相同的存储。商店是可观察和缓存的。
现在我的问题是:这是一种理智的方法吗?这种解决方案的效果是,stores( 'workspaceUsers', { workspaceId: 343434 } )
将stores( 'workspaceUsers', { workspaceId: 343434 } )
创建两个具有两个不同目标的不同存储,但它们将有效地指向服务器上的相同数据(workspaceId
显然,这里将充当过滤器)。
你看到我在做什么愚蠢吗?有一个更好的方法吗?