Angularjs フィルターでフィルター処理されているアイテムのリストがあります。ジェイドのマークアップは次のとおりです。
li(ng-repeat="parcel in parcels | filter : filterActiveAreaParcels")
フィルター関数が実行され、要素が DOM でレンダリングされた後に、読み込まれた要素の外観を向上させる jQuery プラグインを実行したいと考えています。どうすればいいですか?
Angularjs フィルターでフィルター処理されているアイテムのリストがあります。ジェイドのマークアップは次のとおりです。
li(ng-repeat="parcel in parcels | filter : filterActiveAreaParcels")
フィルター関数が実行され、要素が DOM でレンダリングされた後に、読み込まれた要素の外観を向上させる jQuery プラグインを実行したいと考えています。どうすればいいですか?
フィルタがクレイジーな非同期処理を実行しておらず、パーセルリストにこのplnkrが実行するよりも妥当な数のアイテム(MiskoのSO回答を参照)が含まれていると仮定します。このplnkrのカスタムフィルターが比較的高価な操作(100万回の反復でループ)を実行していることに注意してください。ただし、my-pluginディレクティブ内の$scope。$watchは、リスト内のフィルター処理された各アイテムに対して時間どおりにjqueryプラグインを呼び出すことができます。
ng-repeatが実行される前にjqueryプラグインがまだ呼び出されている場合は、ディレクティブ内で$ timeout()を試してみてください。