knockoutJS中的组件与模板?

时间:2015-03-13 03:22:51

标签: knockout.js

问题是关于组件和模板。 我看到组件也和模板一样工作,除了它还包括Viewmodel概念和使用自定义HTML标签。 除了这些,有人可以帮助我理解是否存在任何差异以及何时使用组件与模板?

1 个答案:

答案 0 :(得分:2)

在大多数情况下,组件是一种很好的方法来打包重复使用的元素或项目的一部分,它具有自己的状态。这当然也可以使用模板和独立的视图模型来完成;组件提供了一种将两个部分组合在一起的方法,从而有助于组织代码。

在Knockout 3.3中添加$componentTemplateNodes会很有趣:现在,你的组件可以包装子标记,例如

<modal-dialog>
  <main>
   Are you sure you want to quit?
  </main>
  <menu>
    <button>cancel</button>
    <button>ok, quit</button>
  </menu>
</modal-dialog>

这是使用传统模板无法轻松优雅地完成的事情。