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