如何正确构建KnockoutJS应用程序

我想知道如何以正确的方式构建KnockoutJS应用程序。

  • 官方文档几乎总是只使用一个ViewModel
  • 在实现了一些功能后,我的代码变得非常混乱,并且来自于面向对象的背景,我对这样的架构非常敏感。 所以必须有更好的解决方案。

    对JavaScript不太熟练我在搜索Stackoverflow并找到了这三个选项。 所以我尝试了前两种选择,我对他们不满意:

  • 有像这里的多个ViewModels
  • 我觉得很难决定什么DOM元素得到什么​​ViewModel。 还有几个函数从DOM元素外调用。 也许我使用这种架构的ViewModel太少了,但ViewModels之间的通信似乎是不同的,我不希望这是必要的。 那么如何正确地做到这一点?

  • 子视图和利用绑定 (这三个选项中的第二个选项)。
  • 这是我最喜欢的架构类型,因为您可以在一个视图模型中使用文档范围的绑定,但您也可以将代码构造为子块,并使用with绑定将它们绑定到任何需要的位置。 这个选项虽然需要对象文字而不是函数,但这个答案中描述的不如此。

    我还没有尝试过方法三,因为它似乎有点矫枉过正,也使用了对象文字。

    那么是否有一种方法来构造我的代码,并且在不使用对象文字的情况下也可以完全控制?

    我希望这不是太混乱:-P


    对于您提到的任何选项,您都不需要使用对象文字。 样本只是用它们来简化代码。 您可以选择以您认为合适的任何方式创建单个视图模型。

    例如在#3中,您可以使用如下构造函数:http://jsfiddle.net/rniemeyer/PctJz/149/。 当然,实际的数据会传递给函数而不是静态的。 与#2一样,您只需将它包装在“视图”对象中即可。

    链接地址: http://www.djcxy.com/p/11311.html

    上一篇: How to properly structure a KnockoutJS application

    下一篇: ExpressionEngine: Help w/ Ordering Reverse Related Entries