欢迎加入并确保浏览http://durandaljs.com/pages/docs/上的文档,该文档提供了很好的概述。
在查看允许组合 DOM 片段的 Durandal 功能时,我通常会区分为单例(唯一的,只有其中一个)或构造函数(可能是一个或多个)的视图模型。按照惯例,视图模型与同名的 *.html 文件配对。
例如,看看 Durandal 的示例 shell.html与JumpStarter 的 shell.html 中的 shell.html
在这两个示例中都shell.js
返回一个单例,因为只有一个 shell,但第二个示例将导航 html 提取到它自己的子视图中。如您所见,子视图没有自己的虚拟机,而是绑定了父视图(此处shell.js
)。通过这样做,您可以创建更小、更易于维护的片段,如果需要,可以在其他地方重复使用。
有关为 vm 使用构造函数的示例,请查看主详细信息示例。
小部件是 vm/view((controller.js/view.html) 的一种特殊形式,如果需要配置这些元素,根据它们运行的上下文略有不同,可以考虑使用。一个示例可能是表单元素正在运行作为模态形式与内联形式的一部分。
在 Durandal 1.2 中,只有小部件可以在合成期间接收额外的数据,但这将在即将到来的 2.0 中改变。