gpt4 book ai didi

javascript - 如何正确构建 KnockoutJS 应用程序

转载 作者:数据小太阳 更新时间:2023-10-29 04:48:24 27 4
gpt4 key购买 nike

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

  • 官方文档几乎总是只使用一个 ViewModel!

在只实现了几个功能之后,我的代码变得非常困惑,并且来自面向对象的背景,我对这样的架构非常过敏。所以必须有更好的解决方案。

由于对 JavaScript 的经验不是很丰富,我在搜索 Stackoverflow 时发现了 those three options .所以我尝试了前两个选项,但我对它们不满意:

  • 拥有多个ViewModels,例如here .

我发现很难决定哪个 DOM 元素获取哪个 ViewModel。还有几个从 DOM 元素外部调用的函数。也许我在这种架构中使用的 ViewModel 太少,但 ViewModel 之间的通信似乎有所不同,我希望以某种方式不需要这样做。那么如何正确地做到这一点呢?

  • 拥有 subview 并使用with binding(来自those three 的第二个选项)。

这是我喜欢的架构类型,因为您可以从一个 View 模型中获得文档范围的绑定(bind),但您也可以将代码结构化为子 block ,并使用 with 绑定(bind)将它们绑定(bind)到您想要的任何位置。这个选项虽然需要对象文字而不是函数,如本 answer 中所述,它是次等的.

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

那么有没有一种方法可以构建我的代码,并且无需使用对象字面量就可以完全控制?

我希望这不会太困惑 :-P

最佳答案

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

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

关于javascript - 如何正确构建 KnockoutJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12884678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com