【问题标题】:Knockout viewModels, a single big one or multiple?淘汰视图模型,一个大的还是多个?
【发布时间】:2012-11-30 13:46:50
【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

  • 这个答案可能会有所帮助:stackoverflow.com/questions/8676988/…。目前,我主要使用 require.js 加载视图模型和模板来填充页面区域(有点类似于答案中的最后一个选项)

标签: json mvvm binding knockout.js viewmodel


【解决方案1】:

我非常喜欢将复杂性分散到许多较小的模块中,而不是一个具有所有复杂性的单一模块。

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

【讨论】:

    猜你喜欢
    • 2012-11-29
    • 2012-01-18
    • 2017-06-10
    • 2016-01-27
    • 2013-03-31
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多