Mvvm 多模型

Mvvm 多模型,mvvm,knockout.js,Mvvm,Knockout.js,我喜欢knockoutjs,我们越早摆脱直接面向DOM的编码越好。我很难理解我将如何做一些我将在问答网站上解释的事情。(这可能是一个一般的MVC/MVVM问题) 在我的数据模型中,我有一个问题[id,description]和一个答案[id,question\u id,text]。浏览器请求绑定到tbody的问题列表,其中一列将显示问题描述,而另一列应绑定到答案文本框 一个显而易见的方法是建立一个问答[问答id,问答id,问答描述,问答文本]模型。理想情况下,我希望将它们分开,以尽量减少发送/接

我喜欢knockoutjs,我们越早摆脱直接面向DOM的编码越好。我很难理解我将如何做一些我将在问答网站上解释的事情。(这可能是一个一般的MVC/MVVM问题)

在我的数据模型中,我有一个问题[id,description]和一个答案[id,question\u id,text]。浏览器请求绑定到tbody的问题列表,其中一列将显示问题描述,而另一列应绑定到答案文本框

一个显而易见的方法是建立一个问答[问答id,问答id,问答描述,问答文本]模型。理想情况下,我希望将它们分开,以尽量减少发送/接收/存储时的转换,如果没有某种方法将它们分开,那么我有以下问题:

哪里是创建问答模型的理想地点?我敢打赌,按照惯例,它是在服务器上创建的

如果某个地方有这样的例子,请指给我看,否则我认为这将是一个很好的例子


请帮我把这个包起来,谢谢

您可以在服务器上创建组合模型,将其序列化为json,然后使用映射插件将序列化列表添加到视图模型中

我这样做只是它不是一个组合模型,但不应该有任何区别。尤其是你的关系似乎是一对一

如果需要在视图模型中创建“对象”,可以像我一样使用映射定义来创建

我使用C#在服务器上构建我的应用程序,但我想你可以使用任何你喜欢的东西

映射插件的酷之处在于,它将数据添加到视图模型中,以便您可以关注行为。

好, 我收集了关于我的问题到底在问什么的想法。 要在客户端进行数据绑定,显然也需要在客户端使用数据模型。我对我需要在什么时候送什么东西感到矛盾

继续问答网站的想法:发送一个答案列表,每个答案中都有一个问题,这是应该做的。这样,您就可以绑定到答案列表,只需将每个答案的问题描述绑定到第一个表列

如果以后我想制作一个问题编辑器,我可能会向下发送一个完全不同的数据结构,而不是重用以前使用过的问题结构


我想可能有一种方法可以发送引用自身的更复杂的数据结构。这在JSon中很明显是可能的,并带有一些额外的库。

谢谢,我也在使用MVC3。你的例子帮助我集中了思想。