淘汰视图模型,单个大一个还是多个?

时间:2012-12-12 19:05:30

标签: json mvvm binding knockout.js viewmodel

我正在开发的项目是使用MVVM作为设计模式开发的单页Web应用程序。

除了对整个页面的第一个请求之外,每个其他事务都是基于JSON的,每个JSON都在演示级别使用Knockout进行绑定。

目前我们正在使用单个Knockout-viewModel开发整个应用程序,每个JSON都在viewModel中解析并绑定到表示级别。

现在,考虑到目前viewModel的大小,我想知道将整个事物拆分为不同(较小)的viewModel是否是一个很好的做法,这些viewModel专门绑定到页面中的单个元素(like it's described in this article) ,大量使用Knockout的映射插件来生成空结构(并刷新数据)。

如果这不是最佳做法,您如何建议管理JSON绑定?目前我们正在使用$.jsonparse()获取一个对象,然后我们将一些可观察数组中的不同数据推送出去。但我不认为这是解决这个问题的最佳方法。

谢谢。

1 个答案:

答案 0 :(得分:3)

我非常喜欢在许多小型模块中散布复杂性,而不是单一的单一模块,而且复杂程度很高。

我倾向于使用多个视图模型,并使用Knockout.Postbox库在它们之间进行通信。