|
|
@@ -1,5 +1,5 @@
|
|
|
/*!
|
|
|
- * Vue.js v2.5.6
|
|
|
+ * Vue.js v2.5.7
|
|
|
* (c) 2014-2017 Evan You
|
|
|
* Released under the MIT License.
|
|
|
*/
|
|
|
@@ -1933,7 +1933,7 @@ function traverse (val) {
|
|
|
function _traverse (val, seen) {
|
|
|
var i, keys;
|
|
|
var isA = Array.isArray(val);
|
|
|
- if ((!isA && !isObject(val)) || !Object.isExtensible(val)) {
|
|
|
+ if ((!isA && !isObject(val)) || Object.isFrozen(val)) {
|
|
|
return
|
|
|
}
|
|
|
if (val.__ob__) {
|
|
|
@@ -4870,16 +4870,21 @@ var KeepAlive = {
|
|
|
if (componentOptions) {
|
|
|
// check pattern
|
|
|
var name = getComponentName(componentOptions);
|
|
|
- if (!name || (
|
|
|
- (this.exclude && matches(this.exclude, name)) ||
|
|
|
- (this.include && !matches(this.include, name))
|
|
|
- )) {
|
|
|
+ var ref = this;
|
|
|
+ var include = ref.include;
|
|
|
+ var exclude = ref.exclude;
|
|
|
+ if (
|
|
|
+ // not included
|
|
|
+ (include && (!name || !matches(include, name))) ||
|
|
|
+ // excluded
|
|
|
+ (exclude && name && matches(exclude, name))
|
|
|
+ ) {
|
|
|
return vnode
|
|
|
}
|
|
|
|
|
|
- var ref = this;
|
|
|
- var cache = ref.cache;
|
|
|
- var keys = ref.keys;
|
|
|
+ var ref$1 = this;
|
|
|
+ var cache = ref$1.cache;
|
|
|
+ var keys = ref$1.keys;
|
|
|
var key = vnode.key == null
|
|
|
// same constructor may get registered as different local components
|
|
|
// so cid alone is not enough (#3269)
|
|
|
@@ -4968,7 +4973,7 @@ Object.defineProperty(Vue$3.prototype, '$ssrContext', {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
-Vue$3.version = '2.5.6';
|
|
|
+Vue$3.version = '2.5.7';
|
|
|
|
|
|
/* */
|
|
|
|
|
|
@@ -9262,6 +9267,15 @@ function processSlot (el) {
|
|
|
}
|
|
|
el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');
|
|
|
} else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {
|
|
|
+ /* istanbul ignore if */
|
|
|
+ if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {
|
|
|
+ warn$2(
|
|
|
+ "Ambiguous combined usage of slot-scope and v-for on <" + (el.tag) + "> " +
|
|
|
+ "(v-for takes higher priority). Use a wrapper <template> for the " +
|
|
|
+ "scoped slot to make it clearer.",
|
|
|
+ true
|
|
|
+ );
|
|
|
+ }
|
|
|
el.slotScope = slotScope;
|
|
|
}
|
|
|
var slotTarget = getBindingAttr(el, 'slot');
|
|
|
@@ -10302,9 +10316,6 @@ var unaryOperatorsRE = new RegExp('\\b' + (
|
|
|
'delete,typeof,void'
|
|
|
).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)');
|
|
|
|
|
|
-// check valid identifier for v-for
|
|
|
-var identRE = /[A-Za-z_$][\w$]*/;
|
|
|
-
|
|
|
// strip strings in expressions
|
|
|
var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
|
|
|
|
|
|
@@ -10362,9 +10373,18 @@ function checkFor (node, text, errors) {
|
|
|
checkIdentifier(node.iterator2, 'v-for iterator', text, errors);
|
|
|
}
|
|
|
|
|
|
-function checkIdentifier (ident, type, text, errors) {
|
|
|
- if (typeof ident === 'string' && !identRE.test(ident)) {
|
|
|
- errors.push(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())));
|
|
|
+function checkIdentifier (
|
|
|
+ ident,
|
|
|
+ type,
|
|
|
+ text,
|
|
|
+ errors
|
|
|
+) {
|
|
|
+ if (typeof ident === 'string') {
|
|
|
+ try {
|
|
|
+ new Function(("var " + ident));
|
|
|
+ } catch (e) {
|
|
|
+ errors.push(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|