app.js
/**
   * Attempt to create an observer instance for a value,
   * returns the new observer if successfully observed,
   * or the existing observer if the value already has one.
   */
Attempt to create an observer instance for a value,
returns the new observer if successfully observed,
or the existing observer if the value already has one.
Attempt to create an observer instance for a value returns the new observer if successfully observed or the existing observer if the value already has one .
function observe(value, asRootData) {
    if (!isObject(value) || value instanceof VNode) {
      return;
    }
    var ob;
    if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
      ob = value.__ob__;
    } else if (shouldObserve && !isServerRendering() && (Array.isArray(value) || isPlainObject(value)) && Object.isExtensible(value) && !value._isVue) {
      ob = new Observer(value);
    }
    if (asRootData && ob) {
      ob.vmCount++;
    }
    return ob;
  }
function observe ( value , asRootData ) { if ( ! isObject ( value ) || value instanceof VNode ) { return ; } var ob ; if ( hasOwn ( value , '__ob__' ) && value . __ob__ instanceof Observer ) { ob = value . __ob__ ; } else if ( shouldObserve && ! isServerRendering ( ) && ( Array . isArray ( value ) || isPlainObject ( value ) ) && Object . isExtensible ( value ) && ! value . _isVue ) { ob = new Observer ( value ) ; } if ( asRootData && ob ) { ob . vmCount ++ ; } return ob ; }
Attempt to create an observer instance for a value,
 returns the new observer if successfully observed,
 or the existing observer if the value already has one.
Attempt to create an observer instance for a value returns the new observer if successfully observed or the existing observer if the value already has one .