data-bind =“compose:{}”vs <! - ko compose - > <! - / ko - >

时间:2017-01-31 14:31:56

标签: knockout.js data-binding durandal composition

我在这里阅读(文件) http://durandaljs.com/documentation/Using-Composition.html

我可以在两种成分上找到显着的差异,而不是内部容器或没有。

第一个:

<div data-bind="compose: {
            view: 'Box',
            model: 'Box',
            activationData: {
                hasStar: true
            }
        }"></div>

<!-- ko compose: ________ --> <!-- /ko -->

(实际上它可能有内容)

他们也讨论了需求用法。

任何有很大差异的人?或者我应该何时使用每一个?

1 个答案:

答案 0 :(得分:1)

Knockout命名第二种绑定语法<!-- ko ... -->,一个虚拟元素

它们的唯一目的是允许您创建数据绑定而无需更改标记。

使用虚拟绑定,您可以执行以下操作:

<ul>
  <li class="category">Fruits</li>
  <!-- ko foreach: fruits -->
  <li data-bind="text: name"></li>
  <!-- /ko -->
</ul>

这可以像这样呈现HTML:

<ul>
  <li class="category">Fruits</li>
  <li>Banana</li>
  <li>Orange</li>
  <li>Mango</li>
</ul>

简而言之,如果你没有逻辑语义HTML元素来放置绑定,你可以使用虚拟元素绑定。如果你的局部视图周围已经存在某种包装,我建议使用data-bind 属性