4
我現在的模板是類似以下內容:是否已移除虛擬元素內淘汰賽重新評估
<!-- 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
區塊上的某些類。
我想知道哪種方法更好?
Thx,這很好,因爲第一個更容易跟蹤。只是想知道是否有一種簡單的方法來查看綁定是否被觸發(ko的調試版本),那麼我們可以肯定虛擬元素在觸發/更新之前刪除第二個foreach。 – bitinn 2013-03-05 14:46:25
一個'if'或'ifnot'根本不會試圖綁定這些孩子,所以內部'foreach'不會被運行或者已經收集到任何依賴。 – 2013-03-05 14:48:37
測試它的一個有趣的方法可能是將'afterRender'參數添加到'foreach'循環中,只需測試並確認已刪除的'foreach'綁定不會觸發。 – bitinn 2013-03-05 15:12:00