Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit d366639

Browse files
committed
the right way to remove elements and splice from array
1 parent e12e5bb commit d366639

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/ng/directive/ngSwitch.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -146,18 +146,15 @@ var ngSwitchDirective = ['$animate', function($animate) {
146146

147147
scope.$watch(watchExpr, function ngSwitchWatchAction(value) {
148148
var i, ii;
149-
for (i = 0, ii = previousElements.length; i < ii; ++i) {
150-
previousElements[i].remove();
151-
}
152-
previousElements.length = 0;
153-
154149
for (i = 0, ii = selectedScopes.length; i < ii; ++i) {
155150
var selected = getBlockNodes(selectedElements[i].clone);
156151
selectedScopes[i].$destroy();
157152
previousElements[i] = selected;
158-
$animate.leave(selected).then(function() {
159-
previousElements[i] ? previousElements.splice(i, 1) : angular.noop();
160-
});
153+
$animate.leave(selected).then((function(i) {
154+
return function(){
155+
previousElements.splice(i, 1).remove();
156+
};
157+
}(i));
161158
}
162159

163160
selectedElements.length = 0;

0 commit comments

Comments
 (0)