@@ -190,14 +190,16 @@ function dtNGRenderer($log, $q, $compile, $timeout, DTRenderer, DTRendererServic
190
190
_destroyAndCompile ( ) ;
191
191
}
192
192
$timeout ( function ( ) {
193
- _alreadyRendered = true ;
194
- // Ensure that prerender is called when the collection is updated
195
- // See https://github.com/l-lin/angular-datatables/issues/502
196
- DTRendererService . preRender ( renderer . options ) ;
197
- var result = DTRendererService . hideLoadingAndRenderDataTable ( _$elem , renderer . options ) ;
198
- _oTable = result . DataTable ;
199
- DTInstanceFactory . copyDTProperties ( result , dtInstance ) ;
200
- defer . resolve ( dtInstance ) ;
193
+ if ( ! _oTable ) {
194
+ _alreadyRendered = true ;
195
+ // Ensure that prerender is called when the collection is updated
196
+ // See https://github.com/l-lin/angular-datatables/issues/502
197
+ DTRendererService . preRender ( renderer . options ) ;
198
+ var result = DTRendererService . hideLoadingAndRenderDataTable ( _$elem , renderer . options ) ;
199
+ _oTable = result . DataTable ;
200
+ DTInstanceFactory . copyDTProperties ( result , dtInstance ) ;
201
+ defer . resolve ( dtInstance ) ;
202
+ }
201
203
} , 0 , false ) ;
202
204
} , true ) ;
203
205
return defer . promise ;
@@ -229,6 +231,7 @@ function dtNGRenderer($log, $q, $compile, $timeout, DTRenderer, DTRendererServic
229
231
_newParentScope . $destroy ( ) ;
230
232
}
231
233
_oTable . ngDestroy ( ) ;
234
+ _oTable = null ;
232
235
// Re-compile because we lost the angular binding to the existing data
233
236
_$elem . html ( _staticHTML ) ;
234
237
_newParentScope = _parentScope . $new ( ) ;
0 commit comments