| 1986 | var activeInstance = null; |
| 1987 | |
| 1988 | function initLifecycle (vm) { |
| 1989 | var options = vm.$options; |
| 1990 | |
| 1991 | // locate first non-abstract parent |
| 1992 | var parent = options.parent; |
| 1993 | if (parent && !options.abstract) { |
| 1994 | while (parent.$options.abstract && parent.$parent) { |
| 1995 | parent = parent.$parent; |
| 1996 | } |
| 1997 | parent.$children.push(vm); |
| 1998 | } |
| 1999 | |
| 2000 | vm.$parent = parent; |
| 2001 | vm.$root = parent ? parent.$root : vm; |
| 2002 | |
| 2003 | vm.$children = []; |
| 2004 | vm.$refs = {}; |
| 2005 | |
| 2006 | vm._watcher = null; |
| 2007 | vm._inactive = null; |
| 2008 | vm._directInactive = false; |
| 2009 | vm._isMounted = false; |
| 2010 | vm._isDestroyed = false; |
| 2011 | vm._isBeingDestroyed = false; |
| 2012 | } |
| 2013 | |
| 2014 | function lifecycleMixin (Vue) { |
| 2015 | Vue.prototype._update = function (vnode, hydrating) { |