8

我想创建一个 div(基本上它将包含列表框),并且我想在不同的页面中使用 div,

哪个是在 duarandal.js 中使用的最佳选择?

Composition

http://durandaljs.com/documentation/Using-Composition/

小部件

http://durandaljs.com/documentation/Creating-A-Widget/

4

1 回答 1

14

通常,将compose绑定视为模板,将小部件用作用户控件

您的问题中没有足够的信息让我就哪个是您的正确选择提出建议,但我将在下面对两者进行一些比较,这应该会让您更容易选择。


Durandal 的 compose 绑定可用于渲染或注入一个视图作为另一个视图的一部分。例如,可以定义可用于显示菜单项的 menu.html。这类似于 jQuery 模板的概念,或 ASP.Net MVC 中的“局部视图”。组合视图可以使用父视图模型作为其数据源,也可以拥有自己的视图模型。

当您有一个可以在多个地方按原样使用的视图和/或视图模型时,组合绑定是最有用的。

另一方面,Durandal 的小部件在内部使用组合,但旨在抽象小部件的“部分”,以便可以在渲染它的每个视图上以不同的方式配置一个小部件。一个widget可以有parts,这些部分可以通过widget界面暴露出来。

当您想要创建一些可以跨多个视图使用的功能时,Durandal 小部件最有用,但实现可能会有所不同。

于 2013-08-19T16:24:26.843 回答