2015-06-18 55 views
0

假设我的数据库中有两个表,一个用户表和一个文件夹表。它们在我的后端java代码中与两个模型(bean)相匹配,并且类似于我的extjs客户端模型。使用视图模型架构,我想创建一个form,显示username量文件夹的他们使用视图模型绑定创建。数据库中的每个文件夹都有一个CREATE_USER_ID字段,其​​中包含创建该文件夹的用户的ID。我如何去加载所需的数据?在ExtJS中加载非模型数据的最佳实践

回答

0

视图模型不是为了直接加载数据而设计的(并且不是用来加载非模型数据的)。你有两种选择:

  1. 去模型(推荐)。两个子选项:
    • folder_amount字段添加到您的客户端用户模型。在服务器端,不一定需要添加以及您可以调整您的API馈送数据给客户端以动态添加该字段。
    • 如果你想让你的客户端模型精确匹配他们的服务器的队友,在结合使用视图模型与协会(见例如here,向下滚动到协会)来加载自己的文件夹,但在用户界面只显示他们的量。请注意,您不需要加载所有文件夹字段,而只需加载其ID。
  2. 坚持自己非凡的非模式方法,但这与viewmodel绑定无关。这可能是,例如,在用户界面中呈现用户数据时,进行AJAX调用以检索文件夹的数量。
+0

我的问题再一次没有被理解。我不想加载用户的文件夹,我想加载用户创建的**文件夹**数量。这与协会无关。不要卡在视图模型绑定的问题是关于加载过程。 ViewModels在我们加载所需数据之后进入,我们将如何处理它以达到我们的视角。我们是否为视图模型创建了一个新字段?也许是一个自定义临时模型 – Konstantine

+0

从您的应用程序的客户端/浏览器端的角度来看,用户拥有的文件夹数*量仅仅是用户模型中的另一个字段。就客户端而言,将其视为单独的非模型数据有什么意义?只是保持简单。如果您不希望服务器端用户模型在一个字段中缓存多个文件夹,则只需将您的API提供用户数据调整到客户端,以便动态添加'folder_amount'字段。 – Greendrake

+0

这个目标是为了客户端模型匹配后端模型的一致性原因。我认为每次想要显示组合和非引用信息时,都会向模型添加一个新字段是一种不好的做法。不是这就是为什么我们有观点模型?通过绑定提供预处理信息的观点? – Konstantine