Durandal.js - 组合与小部件

时间:2013-08-19 14:34:24

标签: javascript knockout.js single-page-application durandal

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

这是在duarandal.js中使用的最佳选择吗?

Composition

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

  

的widget

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

1 个答案:

答案 0 :(得分:14)

通常,请考虑将compose绑定用作模板,将小部件用作用户控件

我的问题中没有足够的信息可以提供一个建议,哪个是您的正确选择,但我会为下面两个提供一些比较,这将使您更容易选择。

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

当您拥有可在多个地方 的视图和/或视图模型时,撰写绑定最有用。

另一方面,

Durandal的小部件在内部使用合成,但旨在抽象小部件的“部分”,以便可以在呈现它的每个视图上以不同方式配置一个小部件。小部件可以有parts,这些部分可以通过小部件界面公开。

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