Skip to content

Commit a633b3b

Browse files
committed
[build] 2.0.0-alpha.8
1 parent eb9eb98 commit a633b3b

File tree

8 files changed

+48
-69
lines changed

8 files changed

+48
-69
lines changed

dist/vue.common.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,6 +1407,7 @@ function initLifecycle(vm) {
14071407
vm.$refs = {};
14081408

14091409
vm._watcher = null;
1410+
vm._inactive = false;
14101411
vm._isMounted = false;
14111412
vm._isDestroyed = false;
14121413
vm._isBeingDestroyed = false;
@@ -1681,6 +1682,7 @@ function insert(vnode) {
16811682
callHook(vnode.child, 'mounted');
16821683
}
16831684
if (vnode.data.keepAlive) {
1685+
vnode.child._inactive = false;
16841686
callHook(vnode.child, 'activated');
16851687
}
16861688
}
@@ -1690,6 +1692,7 @@ function destroy(vnode) {
16901692
if (!vnode.data.keepAlive) {
16911693
vnode.child.$destroy();
16921694
} else {
1695+
vnode.child._inactive = true;
16931696
callHook(vnode.child, 'deactivated');
16941697
}
16951698
}
@@ -2800,7 +2803,7 @@ Object.defineProperty(Vue.prototype, '$isServer', {
28002803
}
28012804
});
28022805

2803-
Vue.version = '2.0.0-alpha.7';
2806+
Vue.version = '2.0.0-alpha.8';
28042807

28052808
// attributes that should be using props for binding
28062809
var mustUseProp = makeMap('value,selected,checked,muted');
@@ -3023,7 +3026,8 @@ var nodeOps = Object.freeze({
30233026
setAttribute: setAttribute
30243027
});
30253028

3026-
var emptyNode = new VNode('', {}, []);
3029+
var emptyData = {};
3030+
var emptyNode = new VNode('', emptyData, []);
30273031
var hooks$1 = ['create', 'update', 'postpatch', 'remove', 'destroy'];
30283032

30293033
function isUndef(s) {
@@ -3161,7 +3165,7 @@ function createPatchFunction(backend) {
31613165
cbs.destroy[i](vnode);
31623166
}
31633167
}
3164-
if (isDef(i = vnode.child)) {
3168+
if (isDef(i = vnode.child) && !data.keepAlive) {
31653169
invokeDestroyHook(i._vnode);
31663170
}
31673171
if (isDef(i = vnode.children)) {
@@ -3291,13 +3295,18 @@ function createPatchFunction(backend) {
32913295
if (oldVnode === vnode) return;
32923296
var i = void 0,
32933297
hook = void 0;
3294-
if (isDef(i = vnode.data) && isDef(hook = i.hook) && isDef(i = hook.prepatch)) {
3295-
i(oldVnode, vnode);
3298+
var hasData = isDef(i = vnode.data);
3299+
if (hasData) {
3300+
// ensure the oldVnode also has data during patch
3301+
oldVnode.data = oldVnode.data || emptyData;
3302+
if (isDef(hook = i.hook) && isDef(i = hook.prepatch)) {
3303+
i(oldVnode, vnode);
3304+
}
32963305
}
32973306
var elm = vnode.elm = oldVnode.elm;
32983307
var oldCh = oldVnode.children;
32993308
var ch = vnode.children;
3300-
if (isDef(vnode.data)) {
3309+
if (hasData) {
33013310
for (i = 0; i < cbs.update.length; ++i) {
33023311
cbs.update[i](oldVnode, vnode);
33033312
}if (isDef(hook) && isDef(i = hook.update)) i(oldVnode, vnode);
@@ -3316,7 +3325,7 @@ function createPatchFunction(backend) {
33163325
} else if (oldVnode.text !== vnode.text) {
33173326
nodeOps.setTextContent(elm, vnode.text);
33183327
}
3319-
if (isDef(vnode.data)) {
3328+
if (hasData) {
33203329
for (i = 0; i < cbs.postpatch.length; ++i) {
33213330
cbs.postpatch[i](oldVnode, vnode);
33223331
}if (isDef(hook) && isDef(i = hook.postpatch)) i(oldVnode, vnode);

dist/vue.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* Vue.js v2.0.0-alpha.7
2+
* Vue.js v2.0.0-alpha.8
33
* (c) 2014-2016 Evan You
44
* Released under the MIT License.
55
*/
@@ -1414,6 +1414,7 @@
14141414
vm.$refs = {};
14151415

14161416
vm._watcher = null;
1417+
vm._inactive = false;
14171418
vm._isMounted = false;
14181419
vm._isDestroyed = false;
14191420
vm._isBeingDestroyed = false;
@@ -1688,6 +1689,7 @@
16881689
callHook(vnode.child, 'mounted');
16891690
}
16901691
if (vnode.data.keepAlive) {
1692+
vnode.child._inactive = false;
16911693
callHook(vnode.child, 'activated');
16921694
}
16931695
}
@@ -1697,6 +1699,7 @@
16971699
if (!vnode.data.keepAlive) {
16981700
vnode.child.$destroy();
16991701
} else {
1702+
vnode.child._inactive = true;
17001703
callHook(vnode.child, 'deactivated');
17011704
}
17021705
}
@@ -2805,7 +2808,7 @@
28052808
}
28062809
});
28072810

2808-
Vue.version = '2.0.0-alpha.7';
2811+
Vue.version = '2.0.0-alpha.8';
28092812

28102813
// attributes that should be using props for binding
28112814
var mustUseProp = makeMap('value,selected,checked,muted');
@@ -3028,7 +3031,8 @@ var nodeOps = Object.freeze({
30283031
setAttribute: setAttribute
30293032
});
30303033

3031-
var emptyNode = new VNode('', {}, []);
3034+
var emptyData = {};
3035+
var emptyNode = new VNode('', emptyData, []);
30323036
var hooks$1 = ['create', 'update', 'postpatch', 'remove', 'destroy'];
30333037

30343038
function isUndef(s) {
@@ -3166,7 +3170,7 @@ var nodeOps = Object.freeze({
31663170
cbs.destroy[i](vnode);
31673171
}
31683172
}
3169-
if (isDef(i = vnode.child)) {
3173+
if (isDef(i = vnode.child) && !data.keepAlive) {
31703174
invokeDestroyHook(i._vnode);
31713175
}
31723176
if (isDef(i = vnode.children)) {
@@ -3296,13 +3300,18 @@ var nodeOps = Object.freeze({
32963300
if (oldVnode === vnode) return;
32973301
var i = void 0,
32983302
hook = void 0;
3299-
if (isDef(i = vnode.data) && isDef(hook = i.hook) && isDef(i = hook.prepatch)) {
3300-
i(oldVnode, vnode);
3303+
var hasData = isDef(i = vnode.data);
3304+
if (hasData) {
3305+
// ensure the oldVnode also has data during patch
3306+
oldVnode.data = oldVnode.data || emptyData;
3307+
if (isDef(hook = i.hook) && isDef(i = hook.prepatch)) {
3308+
i(oldVnode, vnode);
3309+
}
33013310
}
33023311
var elm = vnode.elm = oldVnode.elm;
33033312
var oldCh = oldVnode.children;
33043313
var ch = vnode.children;
3305-
if (isDef(vnode.data)) {
3314+
if (hasData) {
33063315
for (i = 0; i < cbs.update.length; ++i) {
33073316
cbs.update[i](oldVnode, vnode);
33083317
}if (isDef(hook) && isDef(i = hook.update)) i(oldVnode, vnode);
@@ -3321,7 +3330,7 @@ var nodeOps = Object.freeze({
33213330
} else if (oldVnode.text !== vnode.text) {
33223331
nodeOps.setTextContent(elm, vnode.text);
33233332
}
3324-
if (isDef(vnode.data)) {
3333+
if (hasData) {
33253334
for (i = 0; i < cbs.postpatch.length; ++i) {
33263335
cbs.postpatch[i](oldVnode, vnode);
33273336
}if (isDef(hook) && isDef(i = hook.postpatch)) i(oldVnode, vnode);

dist/vue.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/vue-server-renderer/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2224,6 +2224,7 @@ function initLifecycle(vm) {
22242224
vm.$refs = {};
22252225

22262226
vm._watcher = null;
2227+
vm._inactive = false;
22272228
vm._isMounted = false;
22282229
vm._isDestroyed = false;
22292230
vm._isBeingDestroyed = false;
@@ -2576,6 +2577,7 @@ function insert(vnode) {
25762577
callHook(vnode.child, 'mounted');
25772578
}
25782579
if (vnode.data.keepAlive) {
2580+
vnode.child._inactive = false;
25792581
callHook(vnode.child, 'activated');
25802582
}
25812583
}
@@ -2585,6 +2587,7 @@ function destroy(vnode) {
25852587
if (!vnode.data.keepAlive) {
25862588
vnode.child.$destroy();
25872589
} else {
2590+
vnode.child._inactive = true;
25882591
callHook(vnode.child, 'deactivated');
25892592
}
25902593
}

packages/vue-server-renderer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-server-renderer",
3-
"version": "2.0.0-alpha.7",
3+
"version": "2.0.0-alpha.8",
44
"description": "server renderer for Vue 2.0",
55
"main": "index.js",
66
"repository": {

packages/vue-template-compiler/index.js

Lines changed: 6 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
Object.defineProperty(exports, '__esModule', { value: true });
44

5+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6+
57
var entities = require('entities');
8+
var deindent = _interopDefault(require('de-indent'));
69

710
/**
811
* Convert a value to a string that is actually rendered.
@@ -1415,6 +1418,7 @@ function initLifecycle(vm) {
14151418
vm.$refs = {};
14161419

14171420
vm._watcher = null;
1421+
vm._inactive = false;
14181422
vm._isMounted = false;
14191423
vm._isDestroyed = false;
14201424
vm._isBeingDestroyed = false;
@@ -1689,6 +1693,7 @@ function insert(vnode) {
16891693
callHook(vnode.child, 'mounted');
16901694
}
16911695
if (vnode.data.keepAlive) {
1696+
vnode.child._inactive = false;
16921697
callHook(vnode.child, 'activated');
16931698
}
16941699
}
@@ -1698,6 +1703,7 @@ function destroy(vnode) {
16981703
if (!vnode.data.keepAlive) {
16991704
vnode.child.$destroy();
17001705
} else {
1706+
vnode.child._inactive = true;
17011707
callHook(vnode.child, 'deactivated');
17021708
}
17031709
}
@@ -4185,54 +4191,6 @@ function makeFunction(code) {
41854191
}
41864192
}
41874193

4188-
var splitRE$1 = /\r?\n/g;
4189-
var emptyRE = /^\s*$/;
4190-
var needFixRE = /^(\r?\n)*[\t\s]/;
4191-
4192-
function deindent(str) {
4193-
if (!needFixRE.test(str)) {
4194-
return str;
4195-
}
4196-
var lines = str.split(splitRE$1);
4197-
var min = Infinity;
4198-
var type = void 0,
4199-
cur = void 0,
4200-
c = void 0;
4201-
for (var i = 0; i < lines.length; i++) {
4202-
var line = lines[i];
4203-
if (!emptyRE.test(line)) {
4204-
if (!type) {
4205-
c = line.charAt(0);
4206-
if (c === ' ' || c === '\t') {
4207-
type = c;
4208-
cur = count(line, type);
4209-
if (cur < min) {
4210-
min = cur;
4211-
}
4212-
} else {
4213-
return str;
4214-
}
4215-
} else {
4216-
cur = count(line, type);
4217-
if (cur < min) {
4218-
min = cur;
4219-
}
4220-
}
4221-
}
4222-
}
4223-
return lines.map(function (line) {
4224-
return line.slice(min);
4225-
}).join('\n');
4226-
}
4227-
4228-
function count(line, type) {
4229-
var i = 0;
4230-
while (line.charAt(i) === type) {
4231-
i++;
4232-
}
4233-
return i;
4234-
}
4235-
42364194
var splitRE = /\r?\n/g;
42374195
var isSpecialTag$1 = makeMap('script,style,template', true);
42384196

packages/vue-template-compiler/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-template-compiler",
3-
"version": "2.0.0-alpha.7",
3+
"version": "2.0.0-alpha.8",
44
"description": "template compiler for Vue 2.0",
55
"main": "index.js",
66
"repository": {

src/core/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ Object.defineProperty(Vue.prototype, '$isServer', {
88
get: () => config._isServer
99
})
1010

11-
Vue.version = '2.0.0-alpha.7'
11+
Vue.version = '2.0.0-alpha.8'
1212

1313
export default Vue

0 commit comments

Comments
 (0)