我想从一个存储中调用两个web服务,并将它们与sencha touch中的listview绑定。
例如,我有两个web服务,如下所示:
1. Company
comp_id
comp_name
emp_id
2. Employee
emp_id
emp_name这两个服务具有不同的urls,我必须单独使用这两个服务,因为我无法控制客户的数据库。
因此,现在我想创建一个或两个模型&一个用于这两个one服务的存储,这样我就可以简单地将它与lisview绑定并在sencha touch中显示它。
但问题是store有一个代理,一次只能触发一个请求。如何在模型中聚合它并在列表视图中显示它?
发布于 2013-12-21 13:28:11
免责声明:你不应该这样做。这就是说不通。模型、存储和数据视图意味着要以某种方式操作。过多地打破这个概念,当事情变得更加复杂时,你只会在以后踢自己。
话虽如此,我仍然理解其中的道理,以下是我推荐的一些想法:
-Normalize模型和数据视图模板(只使用一个带有通用字段名称的模型)。不要使用存储代理来调用API,而是异步执行独立的Ajax/JsonP请求,将结果映射到规范化的模型字段,并将模型记录添加到存储中。这允许您根据需要添加来自一个或多个源的数据,彼此独立。
-Add逻辑到beforerequest上的代理。加载存储区时,传递自定义参数并在此逻辑中处理它们以切换URL。然后在requestcomplete上处理结果,将它们设置为相关的模型。然而,你仍然面临着一个问题,即一个模型=一个商店。
-Consider做了类似上面的事情,除了使用商店关联。一个模型可以是关联的模型,您可以使用提供的关系函数进行模板化。
https://stackoverflow.com/questions/20657897
复制相似问题