2012-05-29 30 views
6

私はいくつかのknockoutjs foreachテンプレートバインディングを持っています。私のページ上には、異なる位置に約100個の<div class='item' />があります.JQueryバインディングが適用される前に、デバッガで停止してから2秒待たなければ、 :Knockout.js:ko.applyBindings(viewModel) - > applyBindingの完全なイベントはありますか?

ko.applyBindings(viewModel); 

$(".item").draggable(); 

私はViewModelには、バインドされた後、マイバインディングを適用するために使用できるデータバインドされたイベントを探していましたが、私は何かを見つけることはありません。

+0

あなたは 'afterRender'バインディングを考えましたか? – Tyrsius

+0

申し訳ありませんが、週末は休みでした!はい、私はレンダリングされた各アイテムに対して呼び出されるので、afterRenderを取ります。これは、レンダリングされたアイテムがドラッグ可能にされる場所です。ありがとう! – Eulinky

答えて

1

TyrsiusにはafterRenderハンドラを使用できますが、リストに項目を追加/削除するかどうかに応じてafterAddハンドラを使用することもできます。これらはforeachtemplateバインディングドキュメントの両方に記載されています。

this exampleと同じように、独自のカスタムバインディングを作成して同じようにすることもできます。私はこれを最も保守的で再利用可能なオプションとして推奨しますが、時には過剰です。

つまり、ドラッグ可能なものを使用したい場合は、おそらく適応できるかもしれないgreat custom bindingがあります。

これが役に立ちます。

+0

本当に他のイベントはないようですが、お返事ありがとうございます。上で述べたように、私はafterRenderを使っていますが、これは今のところ単純です。しかし、私はすぐにそれが必要になるので、ノックアウトソート可能なプロジェクトをブックマークしました。 – Eulinky

関連する問題