gpt4 book ai didi

architecture - 什么时候使用 Durandal 的哪些功能?

转载 作者:行者123 更新时间:2023-12-04 02:54:18 25 4
gpt4 key购买 nike

我是 Durandal 的新手,到目前为止我很喜欢它,但我想知道使用它的一些应用程序架构问题。例如,什么时候使用 ko: compose vs widgets vs child views vs views?

我目前的想法是:

对整页使用 View

为子页面交替使用 subview 或ko:compose

为在多个地方使用的 subview 使用小部件

这是否符合预期的用例?我知道 Durandal 是高度可定制的,但基于入门工具包结构并使用默认实用程序(knockout.js、jquery、sammy 等),使用上述每个元素的正确时间是什么时候?

最佳答案

欢迎加入并确保阅读 http://durandaljs.com/pages/docs/ 上的文档,这提供了一个很好的概述。

在查看允许组合 DOM 片段的 Durandal 功能时,我通常会区分 View 模型是单例(唯一,只有一个)还是构造函数(可以是一个或多个)。按照惯例, View 模型与同名的 *.html 文件配对。

例如,查看 Durandal 的 sample shell.html 中的 shell.html与 JumpStarter's shell.html

在这两个示例中,shell.js 都返回一个单例,因为只有一个 shell,但第二个示例将导航 html 提取到它自己的 subview 中。如您所见, subview 没有自己的 vm,而是绑定(bind)了父 View (此处为 shell.js)。通过这样做,您可以创建更小、更易于维护的片段,这些片段可以在需要时在其他地方重复使用。

有关为 vm 使用构造函数的示例,请查看 master detail sample .

小部件是 vm/view((controller.js/view.html) 的一种特殊形式,如果需要根据它们运行的​​上下文对这些元素进行略微不同的配置,则可能会考虑小部件。一个例子可能是作为模态表单的一部分而不是内联表单运行的表单元素。

在 Durandal 1.2 中,只有小部件可以在组合过程中接收额外的数据,但这将在即将到来的 2.0 中改变。

关于architecture - 什么时候使用 Durandal 的哪些功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16974472/

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