diff --git a/dist/example.js b/dist/example.js index 6a37667..12d24e9 100644 --- a/dist/example.js +++ b/dist/example.js @@ -935,7 +935,7 @@ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/*! - * Vue.js v2.2.1 + * Vue.js v2.2.6 * (c) 2014-2017 Evan You * Released under the MIT License. */ @@ -1150,7 +1150,12 @@ var isObjectA = isObject(a); var isObjectB = isObject(b); if (isObjectA && isObjectB) { - return JSON.stringify(a) === JSON.stringify(b) + try { + return JSON.stringify(a) === JSON.stringify(b) + } catch (e) { + // possible circular reference + return a === b + } } else if (!isObjectA && !isObjectB) { return String(a) === String(b) } else { @@ -1204,7 +1209,7 @@ /** * Whether to record perf */ - performance: ("production") !== 'production', + performance: false, /** * Error handler for watcher errors @@ -1280,6 +1285,48 @@ _maxUpdateCount: 100 }; + /* */ + + var emptyObject = Object.freeze({}); + + /** + * Check if a string starts with $ or _ + */ + function isReserved (str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5F + } + + /** + * Define a property. + */ + function def (obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); + } + + /** + * Parse simple path. + */ + var bailRE = /[^\w.$]/; + function parsePath (path) { + if (bailRE.test(path)) { + return + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) { return } + obj = obj[segments[i]]; + } + return obj + } + } + /* */ /* globals MutationObserver */ @@ -1429,58 +1476,6 @@ }()); } - var perf; - - if (false) { - perf = inBrowser && window.performance; - if (perf && (!perf.mark || !perf.measure)) { - perf = undefined; - } - } - - /* */ - - var emptyObject = Object.freeze({}); - - /** - * Check if a string starts with $ or _ - */ - function isReserved (str) { - var c = (str + '').charCodeAt(0); - return c === 0x24 || c === 0x5F - } - - /** - * Define a property. - */ - function def (obj, key, val, enumerable) { - Object.defineProperty(obj, key, { - value: val, - enumerable: !!enumerable, - writable: true, - configurable: true - }); - } - - /** - * Parse simple path. - */ - var bailRE = /[^\w.$]/; - function parsePath (path) { - if (bailRE.test(path)) { - return - } else { - var segments = path.split('.'); - return function (obj) { - for (var i = 0; i < segments.length; i++) { - if (!obj) { return } - obj = obj[segments[i]]; - } - return obj - } - } - } - var warn = noop; var tip = noop; var formatComponentName; @@ -1512,9 +1507,13 @@ if (vm.$root === vm) { return '' } - var name = vm._isVue - ? vm.$options.name || vm.$options._componentTag - : vm.name; + var name = typeof vm === 'string' + ? vm + : typeof vm === 'function' && vm.options + ? vm.options.name + : vm._isVue + ? vm.$options.name || vm.$options._componentTag + : vm.name; var file = vm._isVue && vm.$options.__file; if (!name && file) { @@ -1565,7 +1564,7 @@ }; Dep.prototype.notify = function notify () { - // stablize the subscriber list first + // stabilize the subscriber list first var subs = this.subs.slice(); for (var i = 0, l = subs.length; i < l; i++) { subs[i].update(); @@ -1808,27 +1807,27 @@ * triggers change notification if the property doesn't * already exist. */ - function set (obj, key, val) { - if (Array.isArray(obj)) { - obj.length = Math.max(obj.length, key); - obj.splice(key, 1, val); + function set (target, key, val) { + if (Array.isArray(target) && typeof key === 'number') { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); return val } - if (hasOwn(obj, key)) { - obj[key] = val; - return + if (hasOwn(target, key)) { + target[key] = val; + return val } - var ob = obj.__ob__; - if (obj._isVue || (ob && ob.vmCount)) { + var ob = (target ).__ob__; + if (target._isVue || (ob && ob.vmCount)) { ("production") !== 'production' && warn( 'Avoid adding reactive properties to a Vue instance or its root $data ' + 'at runtime - declare it upfront in the data option.' ); - return + return val } if (!ob) { - obj[key] = val; - return + target[key] = val; + return val } defineReactive$$1(ob.value, key, val); ob.dep.notify(); @@ -1838,23 +1837,23 @@ /** * Delete a property and trigger change if necessary. */ - function del (obj, key) { - if (Array.isArray(obj)) { - obj.splice(key, 1); + function del (target, key) { + if (Array.isArray(target) && typeof key === 'number') { + target.splice(key, 1); return } - var ob = obj.__ob__; - if (obj._isVue || (ob && ob.vmCount)) { + var ob = (target ).__ob__; + if (target._isVue || (ob && ob.vmCount)) { ("production") !== 'production' && warn( 'Avoid deleting properties on a Vue instance or its root $data ' + '- just set it to null.' ); return } - if (!hasOwn(obj, key)) { + if (!hasOwn(target, key)) { return } - delete obj[key]; + delete target[key]; if (!ob) { return } @@ -2370,12 +2369,12 @@ return false } - function handleError (err, vm, type) { + function handleError (err, vm, info) { if (config.errorHandler) { - config.errorHandler.call(null, err, vm, type); + config.errorHandler.call(null, err, vm, info); } else { if (false) { - warn(("Error in " + type + ":"), vm); + warn(("Error in " + info + ":"), vm); } /* istanbul ignore else */ if (inBrowser && typeof console !== 'undefined') { @@ -2460,6 +2459,29 @@ }; } + var mark; + var measure; + + if (false) { + var perf = inBrowser && window.performance; + /* istanbul ignore if */ + if ( + perf && + perf.mark && + perf.measure && + perf.clearMarks && + perf.clearMeasures + ) { + mark = function (tag) { return perf.mark(tag); }; + measure = function (name, startTag, endTag) { + perf.measure(name, startTag, endTag); + perf.clearMarks(startTag); + perf.clearMarks(endTag); + perf.clearMeasures(name); + }; + } + } + /* */ var VNode = function VNode ( @@ -2534,8 +2556,9 @@ } function cloneVNodes (vnodes) { - var res = new Array(vnodes.length); - for (var i = 0; i < vnodes.length; i++) { + var len = vnodes.length; + var res = new Array(len); + for (var i = 0; i < len; i++) { res[i] = cloneVNode(vnodes[i]); } return res @@ -2663,7 +2686,7 @@ return children } - // 2. When the children contains constrcuts that always generated nested Arrays, + // 2. When the children contains constructs that always generated nested Arrays, // e.g.