MCPcopy Index your code
hub / github.com/ygs-code/vue / invokeDestroyHook

Function invokeDestroyHook

vue.js:8452–8468  ·  view source on GitHub ↗
(vnode)

Source from the content-addressed store, hash-verified

8450
8451 //组件销毁,触发销毁钩子函数
8452 function invokeDestroyHook(vnode) {
8453 var i, j;
8454 var data = vnode.data; //如果vonde有标签属性
8455 if (isDef(data)) { //如果vonde有标签属性
8456 if (isDef(i = data.hook) && isDef(i = i.destroy)) { //如果有钩子函数,或者销毁的钩子函数destroy 就调用destroy或者钩子函数
8457 i(vnode);
8458 }
8459 for (i = 0; i < cbs.destroy.length; ++i) { //并且判断有几个销毁的钩子函数,循环调用
8460 cbs.destroy[i](vnode); //
8461 }
8462 }
8463 if (isDef(i = vnode.children)) { //如果有子节点则递归
8464 for (j = 0; j < vnode.children.length; ++j) {
8465 invokeDestroyHook(vnode.children[j]);
8466 }
8467 }
8468 }
8469
8470 function removeVnodes(parentElm, vnodes, startIdx, endIdx) {
8471 for (; startIdx <= endIdx; ++startIdx) {

Callers 2

removeVnodesFunction · 0.85
createPatchFunctionFunction · 0.85

Calls 1

isDefFunction · 0.85

Tested by

no test coverage detected