敲除是否在已删除的虚拟元素内重新评估

时间:2013-03-05 13:20:14

标签: javascript dom knockout.js

我目前的模板如下:

<!-- ko 'if': condition -->
    <ul data-bind="foreach: items">
        ...
    </ul>
<!-- /ko -->

<!-- ko ifnot: condition -->
    <ul data-bind="foreach: items">
        ...
    </ul>
<!-- /ko -->

将其更改为以下

是否有意义
<ul data-bind="foreach: items">
    <!-- ko 'if': $parent.condition -->
        ...
    <!-- /ko -->

    <!-- ko ifnot: $parent.condition -->
        ...
    <!-- /ko -->
</ul>

我的实际用例是同时拥有列表视图和网格视图 - 因为它们的doms不同,我不能只交换父ul块上的某些类。

我想知道哪种方法更好?

1 个答案:

答案 0 :(得分:1)

我认为您的原始方法可能更可取,因为评估每个项目的ififnot绑定会产生更少的开销(包括将子元素保存为“模板”) )。