0

ノックアウトでアニメーションを使用すると、パフォーマンスの問題が発生します。これが私のコードです:

<ul data-bind="template: {foreach: items, beforeRemove: slideup }">
  <li data-bind="text: text"></li>
</ul>
<script>
  var slideup = function (elem) {
     if (elem.nodeType === 1) $(elem).slideUp(100, function () {$(this).remove();});
  }
</script>

何百もの要素を持つリストで removeAll を実行すると、問題が発生します。この場合、ハードカットを実行したいと思います。slideUp 関数でリストの長さにアクセスできるかどうか、またはアニメーションを条件付きでバインドできるかどうか知っていますか?

ありがとう

4

1 に答える 1

0

これはうまくいくはずです:

var slideup = function (elem) {
    var context = ko.contextFor(elem);
    if (elem.nodeType === 1) {
        if (context.$parent.length < 100) {
            $(elem).slideUp(100, function () {$(this).remove();});
        }
        else {
            $(elem).remove();
        }
    }
}
于 2013-06-17T13:12:27.457 に答える