(vnode, insertedVnodeQueue, parentElm, refElm)
| 4681 | } |
| 4682 | |
| 4683 | function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) { |
| 4684 | var i; |
| 4685 | // hack for #4339: a reactivated component with inner transition |
| 4686 | // does not trigger because the inner node's created hooks are not called |
| 4687 | // again. It's not ideal to involve module-specific logic in here but |
| 4688 | // there doesn't seem to be a better way to do it. |
| 4689 | var innerNode = vnode; |
| 4690 | while (innerNode.componentInstance) { |
| 4691 | innerNode = innerNode.componentInstance._vnode; |
| 4692 | if (isDef(i = innerNode.data) && isDef(i = i.transition)) { |
| 4693 | for (i = 0; i < cbs.activate.length; ++i) { |
| 4694 | cbs.activate[i](emptyNode, innerNode); |
| 4695 | } |
| 4696 | insertedVnodeQueue.push(innerNode); |
| 4697 | break |
| 4698 | } |
| 4699 | } |
| 4700 | // unlike a newly created component, |
| 4701 | // a reactivated keep-alive component doesn't insert itself |
| 4702 | insert(parentElm, vnode.elm, refElm); |
| 4703 | } |
| 4704 | |
| 4705 | function insert (parent, elm, ref) { |
| 4706 | if (isDef(parent)) { |
no test coverage detected