0

ノックアウトマッピングプラグインをRyanNiemeyerの並べ替え可能なプラグインで動作させようとしていますが、成功していません。私の例では、アイテムをリストの中央に並べ替えようとすると、常に一番下に配置されます。リストの一番上に並べ替えることはできますが、アイテムを一番上以外の場所に並べ替えようとすると、自動的にリストの一番下に移動します。

例: http: //jsfiddle.net/thebassix/cKX53/1/

これが私のhtmlです:

<div id="results">
            <h3>Tasks</h3>
            <ul data-bind="sortable: series">
                <li data-bind="text: Name"></li>
            </ul>
        </div>​
4

1 に答える 1

1

_destroyこの問題は、プロパティを監視可能に変換するマッピングプラグインに関連しているようです。Knockoutコアとそれを処理するソート可能なプラグインの機能は、_destroyそれがプレーンなプロパティであることを期待しています。

マッピングプラグインにはcopy、オブザーバブルを作成するのではなく、プロパティをコピーするために使用できるオプションがあります。ただし、これは最上位のプロパティでのみ機能するように見えるため、配列を直接渡す場合は、次のようなマッピングオプションを設定する必要があります。

var mappingOptions = {
    create: function(options) {
        return ko.mapping.fromJS(options.data, { copy: '_destroy' });
    }            
};

サンプル: http: //jsfiddle.net/rniemeyer/9UGKQ/

于 2012-11-29T16:18:47.147 に答える