fix(animations): avoid animation insertions during router back/refresh (#21977)
Closes #19712 PR Close #21977
This commit is contained in:
parent
32105c8012
commit
f88fba020b
|
@ -666,7 +666,16 @@ export class TransitionAnimationEngine {
|
|||
// code does not contain any animation code in it, but it is
|
||||
// just being called so that the node is marked as being inserted
|
||||
if (namespaceId) {
|
||||
this._fetchNamespace(namespaceId).insertNode(element, parent);
|
||||
const ns = this._fetchNamespace(namespaceId);
|
||||
// This if-statement is a workaround for router issue #21947.
|
||||
// The router sometimes hits a race condition where while a route
|
||||
// is being instantiated a new navigation arrives, triggering leave
|
||||
// animation of DOM that has not been fully initialized, until this
|
||||
// is resolved, we need to handle the scenario when DOM is not in a
|
||||
// consistent state during the animation.
|
||||
if (ns) {
|
||||
ns.insertNode(element, parent);
|
||||
}
|
||||
}
|
||||
|
||||
// only *directives and host elements are inserted before
|
||||
|
|
Loading…
Reference in New Issue