mirror of
https://gitee.com/vuejs/vue.git
synced 2024-11-30 02:57:43 +08:00
[build] 2.0.5
This commit is contained in:
parent
c67a710b3c
commit
b064633951
45
dist/vue.common.js
vendored
45
dist/vue.common.js
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Vue.js v2.0.4
|
||||
* Vue.js v2.0.5
|
||||
* (c) 2014-2016 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
@ -1767,6 +1767,7 @@ function lifecycleMixin (Vue) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
observerState.isSettingProps = false;
|
||||
}
|
||||
vm.$options.propsData = propsData;
|
||||
}
|
||||
// update listeners
|
||||
if (listeners) {
|
||||
@ -2190,8 +2191,9 @@ function _createElement (
|
||||
// unknown or unlisted namespaced elements
|
||||
// check at runtime because it may get assigned a namespace when its
|
||||
// parent normalizes children
|
||||
var childNs = tag === 'foreignObject' ? 'xhtml' : ns;
|
||||
return new VNode(
|
||||
tag, data, normalizeChildren(children, ns),
|
||||
tag, data, normalizeChildren(children, childNs),
|
||||
undefined, undefined, ns, context
|
||||
)
|
||||
}
|
||||
@ -2257,7 +2259,7 @@ function renderMixin (Vue) {
|
||||
if (config._isServer) {
|
||||
throw e
|
||||
} else {
|
||||
setTimeout(function () { throw e }, 0);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
// return previous vnode to prevent render error causing blank component
|
||||
@ -2847,25 +2849,16 @@ var defaultStrat = function (parentVal, childVal) {
|
||||
};
|
||||
|
||||
/**
|
||||
* Make sure component options get converted to actual
|
||||
* constructors.
|
||||
* Validate component names
|
||||
*/
|
||||
function normalizeComponents (options) {
|
||||
if (options.components) {
|
||||
var components = options.components;
|
||||
var normalized = options.components = {};
|
||||
var def;
|
||||
for (var key in components) {
|
||||
function checkComponents (options) {
|
||||
for (var key in options.components) {
|
||||
var lower = key.toLowerCase();
|
||||
if (isBuiltInTag(lower) || config.isReservedTag(lower)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
warn(
|
||||
'Do not use built-in or reserved HTML elements as component ' +
|
||||
'id: ' + key
|
||||
);
|
||||
continue
|
||||
}
|
||||
def = components[key];
|
||||
normalized[key] = isPlainObject(def) ? Vue$1.extend(def) : def;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2926,7 +2919,9 @@ function mergeOptions (
|
||||
child,
|
||||
vm
|
||||
) {
|
||||
normalizeComponents(child);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
checkComponents(child);
|
||||
}
|
||||
normalizeProps(child);
|
||||
normalizeDirectives(child);
|
||||
var extendsFrom = child.extends;
|
||||
@ -3029,7 +3024,7 @@ function validateProp (
|
||||
/**
|
||||
* Get the default value of a prop.
|
||||
*/
|
||||
function getPropDefaultValue (vm, prop, name) {
|
||||
function getPropDefaultValue (vm, prop, key) {
|
||||
// no default, return undefined
|
||||
if (!hasOwn(prop, 'default')) {
|
||||
return undefined
|
||||
@ -3038,12 +3033,19 @@ function getPropDefaultValue (vm, prop, name) {
|
||||
// warn against non-factory defaults for Object & Array
|
||||
if (isObject(def)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
'Invalid default value for prop "' + name + '": ' +
|
||||
'Invalid default value for prop "' + key + '": ' +
|
||||
'Props with type Object/Array must use a factory function ' +
|
||||
'to return the default value.',
|
||||
vm
|
||||
);
|
||||
}
|
||||
// the raw prop value was also undefined from previous render,
|
||||
// return previous default value to avoid unnecessary watcher trigger
|
||||
if (vm && vm.$options.propsData &&
|
||||
vm.$options.propsData[key] === undefined &&
|
||||
vm[key] !== undefined) {
|
||||
return vm[key]
|
||||
}
|
||||
// call factory function for non-Function types
|
||||
return typeof def === 'function' && prop.type !== Function
|
||||
? def.call(vm)
|
||||
@ -3408,7 +3410,7 @@ Object.defineProperty(Vue$1.prototype, '$isServer', {
|
||||
get: function () { return config._isServer; }
|
||||
});
|
||||
|
||||
Vue$1.version = '2.0.4';
|
||||
Vue$1.version = '2.0.5';
|
||||
|
||||
/* */
|
||||
|
||||
@ -3534,7 +3536,8 @@ function stringifyClass (value) {
|
||||
|
||||
var namespaceMap = {
|
||||
svg: 'http://www.w3.org/2000/svg',
|
||||
math: 'http://www.w3.org/1998/Math/MathML'
|
||||
math: 'http://www.w3.org/1998/Math/MathML',
|
||||
xhtml: 'http://www.w3.org/1999/xhtm'
|
||||
};
|
||||
|
||||
var isHTMLTag = makeMap(
|
||||
|
69
dist/vue.js
vendored
69
dist/vue.js
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Vue.js v2.0.4
|
||||
* Vue.js v2.0.5
|
||||
* (c) 2014-2016 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
@ -1769,6 +1769,7 @@ function lifecycleMixin (Vue) {
|
||||
{
|
||||
observerState.isSettingProps = false;
|
||||
}
|
||||
vm.$options.propsData = propsData;
|
||||
}
|
||||
// update listeners
|
||||
if (listeners) {
|
||||
@ -2192,8 +2193,9 @@ function _createElement (
|
||||
// unknown or unlisted namespaced elements
|
||||
// check at runtime because it may get assigned a namespace when its
|
||||
// parent normalizes children
|
||||
var childNs = tag === 'foreignObject' ? 'xhtml' : ns;
|
||||
return new VNode(
|
||||
tag, data, normalizeChildren(children, ns),
|
||||
tag, data, normalizeChildren(children, childNs),
|
||||
undefined, undefined, ns, context
|
||||
)
|
||||
}
|
||||
@ -2259,7 +2261,7 @@ function renderMixin (Vue) {
|
||||
if (config._isServer) {
|
||||
throw e
|
||||
} else {
|
||||
setTimeout(function () { throw e }, 0);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
// return previous vnode to prevent render error causing blank component
|
||||
@ -2847,25 +2849,16 @@ var defaultStrat = function (parentVal, childVal) {
|
||||
};
|
||||
|
||||
/**
|
||||
* Make sure component options get converted to actual
|
||||
* constructors.
|
||||
* Validate component names
|
||||
*/
|
||||
function normalizeComponents (options) {
|
||||
if (options.components) {
|
||||
var components = options.components;
|
||||
var normalized = options.components = {};
|
||||
var def;
|
||||
for (var key in components) {
|
||||
function checkComponents (options) {
|
||||
for (var key in options.components) {
|
||||
var lower = key.toLowerCase();
|
||||
if (isBuiltInTag(lower) || config.isReservedTag(lower)) {
|
||||
"development" !== 'production' && warn(
|
||||
warn(
|
||||
'Do not use built-in or reserved HTML elements as component ' +
|
||||
'id: ' + key
|
||||
);
|
||||
continue
|
||||
}
|
||||
def = components[key];
|
||||
normalized[key] = isPlainObject(def) ? Vue$2.extend(def) : def;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2926,7 +2919,9 @@ function mergeOptions (
|
||||
child,
|
||||
vm
|
||||
) {
|
||||
normalizeComponents(child);
|
||||
{
|
||||
checkComponents(child);
|
||||
}
|
||||
normalizeProps(child);
|
||||
normalizeDirectives(child);
|
||||
var extendsFrom = child.extends;
|
||||
@ -3029,7 +3024,7 @@ function validateProp (
|
||||
/**
|
||||
* Get the default value of a prop.
|
||||
*/
|
||||
function getPropDefaultValue (vm, prop, name) {
|
||||
function getPropDefaultValue (vm, prop, key) {
|
||||
// no default, return undefined
|
||||
if (!hasOwn(prop, 'default')) {
|
||||
return undefined
|
||||
@ -3038,12 +3033,19 @@ function getPropDefaultValue (vm, prop, name) {
|
||||
// warn against non-factory defaults for Object & Array
|
||||
if (isObject(def)) {
|
||||
"development" !== 'production' && warn(
|
||||
'Invalid default value for prop "' + name + '": ' +
|
||||
'Invalid default value for prop "' + key + '": ' +
|
||||
'Props with type Object/Array must use a factory function ' +
|
||||
'to return the default value.',
|
||||
vm
|
||||
);
|
||||
}
|
||||
// the raw prop value was also undefined from previous render,
|
||||
// return previous default value to avoid unnecessary watcher trigger
|
||||
if (vm && vm.$options.propsData &&
|
||||
vm.$options.propsData[key] === undefined &&
|
||||
vm[key] !== undefined) {
|
||||
return vm[key]
|
||||
}
|
||||
// call factory function for non-Function types
|
||||
return typeof def === 'function' && prop.type !== Function
|
||||
? def.call(vm)
|
||||
@ -3408,7 +3410,7 @@ Object.defineProperty(Vue$2.prototype, '$isServer', {
|
||||
get: function () { return config._isServer; }
|
||||
});
|
||||
|
||||
Vue$2.version = '2.0.4';
|
||||
Vue$2.version = '2.0.5';
|
||||
|
||||
/* */
|
||||
|
||||
@ -3534,7 +3536,8 @@ function stringifyClass (value) {
|
||||
|
||||
var namespaceMap = {
|
||||
svg: 'http://www.w3.org/2000/svg',
|
||||
math: 'http://www.w3.org/1998/Math/MathML'
|
||||
math: 'http://www.w3.org/1998/Math/MathML',
|
||||
xhtml: 'http://www.w3.org/1999/xhtm'
|
||||
};
|
||||
|
||||
var isHTMLTag = makeMap(
|
||||
@ -5724,6 +5727,8 @@ var startTagOpen = new RegExp('^<' + qnameCapture);
|
||||
var startTagClose = /^\s*(\/?)>/;
|
||||
var endTag = new RegExp('^<\\/' + qnameCapture + '[^>]*>');
|
||||
var doctype = /^<!DOCTYPE [^>]+>/i;
|
||||
var comment = /^<!--/;
|
||||
var conditionalComment = /^<!\[/;
|
||||
|
||||
var IS_REGEX_CAPTURING_BROKEN = false;
|
||||
'x'.replace(/x(.)?/g, function (m, g) {
|
||||
@ -5781,7 +5786,7 @@ function parseHTML (html, options) {
|
||||
var textEnd = html.indexOf('<');
|
||||
if (textEnd === 0) {
|
||||
// Comment:
|
||||
if (/^<!--/.test(html)) {
|
||||
if (comment.test(html)) {
|
||||
var commentEnd = html.indexOf('-->');
|
||||
|
||||
if (commentEnd >= 0) {
|
||||
@ -5791,7 +5796,7 @@ function parseHTML (html, options) {
|
||||
}
|
||||
|
||||
// http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
|
||||
if (/^<!\[/.test(html)) {
|
||||
if (conditionalComment.test(html)) {
|
||||
var conditionalEnd = html.indexOf(']>');
|
||||
|
||||
if (conditionalEnd >= 0) {
|
||||
@ -5824,12 +5829,19 @@ function parseHTML (html, options) {
|
||||
}
|
||||
}
|
||||
|
||||
var text = void 0, rest$1 = void 0;
|
||||
var text = void 0, rest$1 = void 0, next = void 0;
|
||||
if (textEnd > 0) {
|
||||
rest$1 = html.slice(textEnd);
|
||||
while (!startTagOpen.test(rest$1) && !endTag.test(rest$1)) {
|
||||
while (
|
||||
!endTag.test(rest$1) &&
|
||||
!startTagOpen.test(rest$1) &&
|
||||
!comment.test(rest$1) &&
|
||||
!conditionalComment.test(rest$1)
|
||||
) {
|
||||
// < in plain text, be forgiving and treat it as text
|
||||
textEnd += rest$1.indexOf('<', 1);
|
||||
next = rest$1.indexOf('<', 1);
|
||||
if (next < 0) { break }
|
||||
textEnd += next;
|
||||
rest$1 = html.slice(textEnd);
|
||||
}
|
||||
text = html.substring(0, textEnd);
|
||||
@ -5865,8 +5877,9 @@ function parseHTML (html, options) {
|
||||
parseEndTag('</' + stackedTag + '>', stackedTag, index - endTagLength, index);
|
||||
}
|
||||
|
||||
if (html === last) {
|
||||
throw new Error('Error parsing template:\n\n' + html)
|
||||
if (html === last && options.chars) {
|
||||
options.chars(html);
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
8
dist/vue.min.js
vendored
8
dist/vue.min.js
vendored
File diff suppressed because one or more lines are too long
45
dist/vue.runtime.js
vendored
45
dist/vue.runtime.js
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Vue.js v2.0.4
|
||||
* Vue.js v2.0.5
|
||||
* (c) 2014-2016 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
@ -1771,6 +1771,7 @@ function lifecycleMixin (Vue) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
observerState.isSettingProps = false;
|
||||
}
|
||||
vm.$options.propsData = propsData;
|
||||
}
|
||||
// update listeners
|
||||
if (listeners) {
|
||||
@ -2194,8 +2195,9 @@ function _createElement (
|
||||
// unknown or unlisted namespaced elements
|
||||
// check at runtime because it may get assigned a namespace when its
|
||||
// parent normalizes children
|
||||
var childNs = tag === 'foreignObject' ? 'xhtml' : ns;
|
||||
return new VNode(
|
||||
tag, data, normalizeChildren(children, ns),
|
||||
tag, data, normalizeChildren(children, childNs),
|
||||
undefined, undefined, ns, context
|
||||
)
|
||||
}
|
||||
@ -2261,7 +2263,7 @@ function renderMixin (Vue) {
|
||||
if (config._isServer) {
|
||||
throw e
|
||||
} else {
|
||||
setTimeout(function () { throw e }, 0);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
// return previous vnode to prevent render error causing blank component
|
||||
@ -2851,25 +2853,16 @@ var defaultStrat = function (parentVal, childVal) {
|
||||
};
|
||||
|
||||
/**
|
||||
* Make sure component options get converted to actual
|
||||
* constructors.
|
||||
* Validate component names
|
||||
*/
|
||||
function normalizeComponents (options) {
|
||||
if (options.components) {
|
||||
var components = options.components;
|
||||
var normalized = options.components = {};
|
||||
var def;
|
||||
for (var key in components) {
|
||||
function checkComponents (options) {
|
||||
for (var key in options.components) {
|
||||
var lower = key.toLowerCase();
|
||||
if (isBuiltInTag(lower) || config.isReservedTag(lower)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
warn(
|
||||
'Do not use built-in or reserved HTML elements as component ' +
|
||||
'id: ' + key
|
||||
);
|
||||
continue
|
||||
}
|
||||
def = components[key];
|
||||
normalized[key] = isPlainObject(def) ? Vue$1.extend(def) : def;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2930,7 +2923,9 @@ function mergeOptions (
|
||||
child,
|
||||
vm
|
||||
) {
|
||||
normalizeComponents(child);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
checkComponents(child);
|
||||
}
|
||||
normalizeProps(child);
|
||||
normalizeDirectives(child);
|
||||
var extendsFrom = child.extends;
|
||||
@ -3033,7 +3028,7 @@ function validateProp (
|
||||
/**
|
||||
* Get the default value of a prop.
|
||||
*/
|
||||
function getPropDefaultValue (vm, prop, name) {
|
||||
function getPropDefaultValue (vm, prop, key) {
|
||||
// no default, return undefined
|
||||
if (!hasOwn(prop, 'default')) {
|
||||
return undefined
|
||||
@ -3042,12 +3037,19 @@ function getPropDefaultValue (vm, prop, name) {
|
||||
// warn against non-factory defaults for Object & Array
|
||||
if (isObject(def)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
'Invalid default value for prop "' + name + '": ' +
|
||||
'Invalid default value for prop "' + key + '": ' +
|
||||
'Props with type Object/Array must use a factory function ' +
|
||||
'to return the default value.',
|
||||
vm
|
||||
);
|
||||
}
|
||||
// the raw prop value was also undefined from previous render,
|
||||
// return previous default value to avoid unnecessary watcher trigger
|
||||
if (vm && vm.$options.propsData &&
|
||||
vm.$options.propsData[key] === undefined &&
|
||||
vm[key] !== undefined) {
|
||||
return vm[key]
|
||||
}
|
||||
// call factory function for non-Function types
|
||||
return typeof def === 'function' && prop.type !== Function
|
||||
? def.call(vm)
|
||||
@ -3412,7 +3414,7 @@ Object.defineProperty(Vue$1.prototype, '$isServer', {
|
||||
get: function () { return config._isServer; }
|
||||
});
|
||||
|
||||
Vue$1.version = '2.0.4';
|
||||
Vue$1.version = '2.0.5';
|
||||
|
||||
/* */
|
||||
|
||||
@ -3538,7 +3540,8 @@ function stringifyClass (value) {
|
||||
|
||||
var namespaceMap = {
|
||||
svg: 'http://www.w3.org/2000/svg',
|
||||
math: 'http://www.w3.org/1998/Math/MathML'
|
||||
math: 'http://www.w3.org/1998/Math/MathML',
|
||||
xhtml: 'http://www.w3.org/1999/xhtm'
|
||||
};
|
||||
|
||||
var isHTMLTag = makeMap(
|
||||
|
6
dist/vue.runtime.min.js
vendored
6
dist/vue.runtime.min.js
vendored
File diff suppressed because one or more lines are too long
@ -2044,8 +2044,9 @@ function _createElement (
|
||||
// unknown or unlisted namespaced elements
|
||||
// check at runtime because it may get assigned a namespace when its
|
||||
// parent normalizes children
|
||||
var childNs = tag === 'foreignObject' ? 'xhtml' : ns;
|
||||
return new VNode(
|
||||
tag, data, normalizeChildren(children, ns),
|
||||
tag, data, normalizeChildren(children, childNs),
|
||||
undefined, undefined, ns, context
|
||||
)
|
||||
}
|
||||
@ -2111,7 +2112,7 @@ function renderMixin (Vue) {
|
||||
if (config._isServer) {
|
||||
throw e
|
||||
} else {
|
||||
setTimeout(function () { throw e }, 0);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
// return previous vnode to prevent render error causing blank component
|
||||
@ -2446,6 +2447,7 @@ function lifecycleMixin (Vue) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
observerState.isSettingProps = false;
|
||||
}
|
||||
vm$$1.$options.propsData = propsData;
|
||||
}
|
||||
// update listeners
|
||||
if (listeners) {
|
||||
@ -2593,7 +2595,7 @@ Object.defineProperty(Vue.prototype, '$isServer', {
|
||||
get: function () { return config._isServer; }
|
||||
});
|
||||
|
||||
Vue.version = '2.0.4';
|
||||
Vue.version = '2.0.5';
|
||||
|
||||
/* */
|
||||
|
||||
@ -3167,25 +3169,16 @@ var defaultStrat = function (parentVal, childVal) {
|
||||
};
|
||||
|
||||
/**
|
||||
* Make sure component options get converted to actual
|
||||
* constructors.
|
||||
* Validate component names
|
||||
*/
|
||||
function normalizeComponents (options) {
|
||||
if (options.components) {
|
||||
var components = options.components;
|
||||
var normalized = options.components = {};
|
||||
var def;
|
||||
for (var key in components) {
|
||||
function checkComponents (options) {
|
||||
for (var key in options.components) {
|
||||
var lower = key.toLowerCase();
|
||||
if (isBuiltInTag(lower) || config.isReservedTag(lower)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
warn(
|
||||
'Do not use built-in or reserved HTML elements as component ' +
|
||||
'id: ' + key
|
||||
);
|
||||
continue
|
||||
}
|
||||
def = components[key];
|
||||
normalized[key] = isPlainObject(def) ? Vue.extend(def) : def;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3246,7 +3239,9 @@ function mergeOptions (
|
||||
child,
|
||||
vm$$1
|
||||
) {
|
||||
normalizeComponents(child);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
checkComponents(child);
|
||||
}
|
||||
normalizeProps(child);
|
||||
normalizeDirectives(child);
|
||||
var extendsFrom = child.extends;
|
||||
@ -3349,7 +3344,7 @@ function validateProp (
|
||||
/**
|
||||
* Get the default value of a prop.
|
||||
*/
|
||||
function getPropDefaultValue (vm$$1, prop, name) {
|
||||
function getPropDefaultValue (vm$$1, prop, key) {
|
||||
// no default, return undefined
|
||||
if (!hasOwn(prop, 'default')) {
|
||||
return undefined
|
||||
@ -3358,12 +3353,19 @@ function getPropDefaultValue (vm$$1, prop, name) {
|
||||
// warn against non-factory defaults for Object & Array
|
||||
if (isObject(def)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
'Invalid default value for prop "' + name + '": ' +
|
||||
'Invalid default value for prop "' + key + '": ' +
|
||||
'Props with type Object/Array must use a factory function ' +
|
||||
'to return the default value.',
|
||||
vm$$1
|
||||
);
|
||||
}
|
||||
// the raw prop value was also undefined from previous render,
|
||||
// return previous default value to avoid unnecessary watcher trigger
|
||||
if (vm$$1 && vm$$1.$options.propsData &&
|
||||
vm$$1.$options.propsData[key] === undefined &&
|
||||
vm$$1[key] !== undefined) {
|
||||
return vm$$1[key]
|
||||
}
|
||||
// call factory function for non-Function types
|
||||
return typeof def === 'function' && prop.type !== Function
|
||||
? def.call(vm$$1)
|
||||
@ -3763,6 +3765,8 @@ var startTagOpen = new RegExp('^<' + qnameCapture);
|
||||
var startTagClose = /^\s*(\/?)>/;
|
||||
var endTag = new RegExp('^<\\/' + qnameCapture + '[^>]*>');
|
||||
var doctype = /^<!DOCTYPE [^>]+>/i;
|
||||
var comment = /^<!--/;
|
||||
var conditionalComment = /^<!\[/;
|
||||
|
||||
var IS_REGEX_CAPTURING_BROKEN = false;
|
||||
'x'.replace(/x(.)?/g, function (m, g) {
|
||||
@ -3820,7 +3824,7 @@ function parseHTML (html, options) {
|
||||
var textEnd = html.indexOf('<');
|
||||
if (textEnd === 0) {
|
||||
// Comment:
|
||||
if (/^<!--/.test(html)) {
|
||||
if (comment.test(html)) {
|
||||
var commentEnd = html.indexOf('-->');
|
||||
|
||||
if (commentEnd >= 0) {
|
||||
@ -3830,7 +3834,7 @@ function parseHTML (html, options) {
|
||||
}
|
||||
|
||||
// http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
|
||||
if (/^<!\[/.test(html)) {
|
||||
if (conditionalComment.test(html)) {
|
||||
var conditionalEnd = html.indexOf(']>');
|
||||
|
||||
if (conditionalEnd >= 0) {
|
||||
@ -3863,12 +3867,19 @@ function parseHTML (html, options) {
|
||||
}
|
||||
}
|
||||
|
||||
var text = void 0, rest$1 = void 0;
|
||||
var text = void 0, rest$1 = void 0, next = void 0;
|
||||
if (textEnd > 0) {
|
||||
rest$1 = html.slice(textEnd);
|
||||
while (!startTagOpen.test(rest$1) && !endTag.test(rest$1)) {
|
||||
while (
|
||||
!endTag.test(rest$1) &&
|
||||
!startTagOpen.test(rest$1) &&
|
||||
!comment.test(rest$1) &&
|
||||
!conditionalComment.test(rest$1)
|
||||
) {
|
||||
// < in plain text, be forgiving and treat it as text
|
||||
textEnd += rest$1.indexOf('<', 1);
|
||||
next = rest$1.indexOf('<', 1);
|
||||
if (next < 0) { break }
|
||||
textEnd += next;
|
||||
rest$1 = html.slice(textEnd);
|
||||
}
|
||||
text = html.substring(0, textEnd);
|
||||
@ -3904,8 +3915,9 @@ function parseHTML (html, options) {
|
||||
parseEndTag('</' + stackedTag + '>', stackedTag, index - endTagLength, index);
|
||||
}
|
||||
|
||||
if (html === last) {
|
||||
throw new Error('Error parsing template:\n\n' + html)
|
||||
if (html === last && options.chars) {
|
||||
options.chars(html);
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vue-server-renderer",
|
||||
"version": "2.0.4",
|
||||
"version": "2.0.5",
|
||||
"description": "server renderer for Vue 2.0",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
|
@ -1919,8 +1919,9 @@ function _createElement (
|
||||
// unknown or unlisted namespaced elements
|
||||
// check at runtime because it may get assigned a namespace when its
|
||||
// parent normalizes children
|
||||
var childNs = tag === 'foreignObject' ? 'xhtml' : ns;
|
||||
return new VNode(
|
||||
tag, data, normalizeChildren(children, ns),
|
||||
tag, data, normalizeChildren(children, childNs),
|
||||
undefined, undefined, ns, context
|
||||
)
|
||||
}
|
||||
@ -1986,7 +1987,7 @@ function renderMixin (Vue) {
|
||||
if (config._isServer) {
|
||||
throw e
|
||||
} else {
|
||||
setTimeout(function () { throw e }, 0);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
// return previous vnode to prevent render error causing blank component
|
||||
@ -2321,6 +2322,7 @@ function lifecycleMixin (Vue) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
observerState.isSettingProps = false;
|
||||
}
|
||||
vm.$options.propsData = propsData;
|
||||
}
|
||||
// update listeners
|
||||
if (listeners) {
|
||||
@ -2468,7 +2470,7 @@ Object.defineProperty(Vue.prototype, '$isServer', {
|
||||
get: function () { return config._isServer; }
|
||||
});
|
||||
|
||||
Vue.version = '2.0.4';
|
||||
Vue.version = '2.0.5';
|
||||
|
||||
/* */
|
||||
|
||||
@ -3042,25 +3044,16 @@ var defaultStrat = function (parentVal, childVal) {
|
||||
};
|
||||
|
||||
/**
|
||||
* Make sure component options get converted to actual
|
||||
* constructors.
|
||||
* Validate component names
|
||||
*/
|
||||
function normalizeComponents (options) {
|
||||
if (options.components) {
|
||||
var components = options.components;
|
||||
var normalized = options.components = {};
|
||||
var def;
|
||||
for (var key in components) {
|
||||
function checkComponents (options) {
|
||||
for (var key in options.components) {
|
||||
var lower = key.toLowerCase();
|
||||
if (isBuiltInTag(lower) || config.isReservedTag(lower)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
warn(
|
||||
'Do not use built-in or reserved HTML elements as component ' +
|
||||
'id: ' + key
|
||||
);
|
||||
continue
|
||||
}
|
||||
def = components[key];
|
||||
normalized[key] = isPlainObject(def) ? Vue.extend(def) : def;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3121,7 +3114,9 @@ function mergeOptions (
|
||||
child,
|
||||
vm
|
||||
) {
|
||||
normalizeComponents(child);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
checkComponents(child);
|
||||
}
|
||||
normalizeProps(child);
|
||||
normalizeDirectives(child);
|
||||
var extendsFrom = child.extends;
|
||||
@ -3224,7 +3219,7 @@ function validateProp (
|
||||
/**
|
||||
* Get the default value of a prop.
|
||||
*/
|
||||
function getPropDefaultValue (vm, prop, name) {
|
||||
function getPropDefaultValue (vm, prop, key) {
|
||||
// no default, return undefined
|
||||
if (!hasOwn(prop, 'default')) {
|
||||
return undefined
|
||||
@ -3233,12 +3228,19 @@ function getPropDefaultValue (vm, prop, name) {
|
||||
// warn against non-factory defaults for Object & Array
|
||||
if (isObject(def)) {
|
||||
process.env.NODE_ENV !== 'production' && warn(
|
||||
'Invalid default value for prop "' + name + '": ' +
|
||||
'Invalid default value for prop "' + key + '": ' +
|
||||
'Props with type Object/Array must use a factory function ' +
|
||||
'to return the default value.',
|
||||
vm
|
||||
);
|
||||
}
|
||||
// the raw prop value was also undefined from previous render,
|
||||
// return previous default value to avoid unnecessary watcher trigger
|
||||
if (vm && vm.$options.propsData &&
|
||||
vm.$options.propsData[key] === undefined &&
|
||||
vm[key] !== undefined) {
|
||||
return vm[key]
|
||||
}
|
||||
// call factory function for non-Function types
|
||||
return typeof def === 'function' && prop.type !== Function
|
||||
? def.call(vm)
|
||||
@ -3603,6 +3605,8 @@ var startTagOpen = new RegExp('^<' + qnameCapture);
|
||||
var startTagClose = /^\s*(\/?)>/;
|
||||
var endTag = new RegExp('^<\\/' + qnameCapture + '[^>]*>');
|
||||
var doctype = /^<!DOCTYPE [^>]+>/i;
|
||||
var comment = /^<!--/;
|
||||
var conditionalComment = /^<!\[/;
|
||||
|
||||
var IS_REGEX_CAPTURING_BROKEN = false;
|
||||
'x'.replace(/x(.)?/g, function (m, g) {
|
||||
@ -3660,7 +3664,7 @@ function parseHTML (html, options) {
|
||||
var textEnd = html.indexOf('<');
|
||||
if (textEnd === 0) {
|
||||
// Comment:
|
||||
if (/^<!--/.test(html)) {
|
||||
if (comment.test(html)) {
|
||||
var commentEnd = html.indexOf('-->');
|
||||
|
||||
if (commentEnd >= 0) {
|
||||
@ -3670,7 +3674,7 @@ function parseHTML (html, options) {
|
||||
}
|
||||
|
||||
// http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
|
||||
if (/^<!\[/.test(html)) {
|
||||
if (conditionalComment.test(html)) {
|
||||
var conditionalEnd = html.indexOf(']>');
|
||||
|
||||
if (conditionalEnd >= 0) {
|
||||
@ -3703,12 +3707,19 @@ function parseHTML (html, options) {
|
||||
}
|
||||
}
|
||||
|
||||
var text = void 0, rest$1 = void 0;
|
||||
var text = void 0, rest$1 = void 0, next = void 0;
|
||||
if (textEnd > 0) {
|
||||
rest$1 = html.slice(textEnd);
|
||||
while (!startTagOpen.test(rest$1) && !endTag.test(rest$1)) {
|
||||
while (
|
||||
!endTag.test(rest$1) &&
|
||||
!startTagOpen.test(rest$1) &&
|
||||
!comment.test(rest$1) &&
|
||||
!conditionalComment.test(rest$1)
|
||||
) {
|
||||
// < in plain text, be forgiving and treat it as text
|
||||
textEnd += rest$1.indexOf('<', 1);
|
||||
next = rest$1.indexOf('<', 1);
|
||||
if (next < 0) { break }
|
||||
textEnd += next;
|
||||
rest$1 = html.slice(textEnd);
|
||||
}
|
||||
text = html.substring(0, textEnd);
|
||||
@ -3744,8 +3755,9 @@ function parseHTML (html, options) {
|
||||
parseEndTag('</' + stackedTag + '>', stackedTag, index - endTagLength, index);
|
||||
}
|
||||
|
||||
if (html === last) {
|
||||
throw new Error('Error parsing template:\n\n' + html)
|
||||
if (html === last && options.chars) {
|
||||
options.chars(html);
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vue-template-compiler",
|
||||
"version": "2.0.4",
|
||||
"version": "2.0.5",
|
||||
"description": "template compiler for Vue 2.0",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
|
@ -8,6 +8,6 @@ Object.defineProperty(Vue.prototype, '$isServer', {
|
||||
get: () => config._isServer
|
||||
})
|
||||
|
||||
Vue.version = '2.0.4'
|
||||
Vue.version = '2.0.5'
|
||||
|
||||
export default Vue
|
||||
|
Loading…
Reference in New Issue
Block a user