vue 2.7.2 → 2.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vue.common.dev.js +54 -57
- package/dist/vue.common.prod.js +3 -3
- package/dist/vue.esm.browser.js +54 -57
- package/dist/vue.esm.browser.min.js +3 -3
- package/dist/vue.esm.js +55 -57
- package/dist/vue.js +55 -57
- package/dist/vue.min.js +3 -3
- package/dist/vue.runtime.common.dev.js +54 -57
- package/dist/vue.runtime.common.prod.js +3 -3
- package/dist/vue.runtime.esm.js +55 -57
- package/dist/vue.runtime.js +55 -57
- package/dist/vue.runtime.min.js +3 -3
- package/dist/vue.runtime.mjs +55 -57
- package/package.json +2 -2
- package/packages/compiler-sfc/dist/compiler-sfc.js +50 -53
- package/packages/compiler-sfc/package.json +1 -1
- package/src/core/observer/index.ts +54 -55
- package/src/shared/constants.ts +3 -1
- package/src/v3/reactivity/reactive.ts +13 -2
- package/src/v3/reactivity/ref.ts +6 -2
- package/types/jsx.d.ts +6 -0
package/dist/vue.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vue.js v2.7.
|
|
2
|
+
* Vue.js v2.7.3
|
|
3
3
|
* (c) 2014-2022 Evan You
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -334,7 +334,9 @@ var LIFECYCLE_HOOKS = [
|
|
|
334
334
|
'activated',
|
|
335
335
|
'deactivated',
|
|
336
336
|
'errorCaptured',
|
|
337
|
-
'serverPrefetch'
|
|
337
|
+
'serverPrefetch',
|
|
338
|
+
'renderTracked',
|
|
339
|
+
'renderTriggered'
|
|
338
340
|
];
|
|
339
341
|
|
|
340
342
|
var config = {
|
|
@@ -889,7 +891,7 @@ function makeReactive(target, shallow) {
|
|
|
889
891
|
warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
|
|
890
892
|
}
|
|
891
893
|
}
|
|
892
|
-
var ob = observe(target, shallow);
|
|
894
|
+
var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
|
|
893
895
|
if (process.env.NODE_ENV !== 'production' && !ob) {
|
|
894
896
|
if (target == null || isPrimitive(target)) {
|
|
895
897
|
warn$2("value cannot be made reactive: ".concat(String(target)));
|
|
@@ -951,7 +953,7 @@ function createRef(rawValue, shallow) {
|
|
|
951
953
|
var ref = {};
|
|
952
954
|
def(ref, RefFlag, true);
|
|
953
955
|
def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
|
|
954
|
-
ref
|
|
956
|
+
def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
|
|
955
957
|
return ref;
|
|
956
958
|
}
|
|
957
959
|
function triggerRef(ref) {
|
|
@@ -4712,7 +4714,7 @@ var onServerPrefetch = createLifeCycle('serverPrefetch');
|
|
|
4712
4714
|
var onRenderTracked = createLifeCycle('renderTracked');
|
|
4713
4715
|
var onRenderTriggered = createLifeCycle('renderTriggered');
|
|
4714
4716
|
|
|
4715
|
-
var version = '2.7.
|
|
4717
|
+
var version = '2.7.3';
|
|
4716
4718
|
/**
|
|
4717
4719
|
* @internal type is manually declared in <root>/types/v3-define-component.d.ts
|
|
4718
4720
|
*/
|
|
@@ -4730,6 +4732,13 @@ var shouldObserve = true;
|
|
|
4730
4732
|
function toggleObserving(value) {
|
|
4731
4733
|
shouldObserve = value;
|
|
4732
4734
|
}
|
|
4735
|
+
// ssr mock dep
|
|
4736
|
+
var mockDep = {
|
|
4737
|
+
notify: noop,
|
|
4738
|
+
depend: noop,
|
|
4739
|
+
addSub: noop,
|
|
4740
|
+
removeSub: noop
|
|
4741
|
+
};
|
|
4733
4742
|
/**
|
|
4734
4743
|
* Observer class that is attached to each observed
|
|
4735
4744
|
* object. Once attached, the observer converts the target
|
|
@@ -4737,78 +4746,63 @@ function toggleObserving(value) {
|
|
|
4737
4746
|
* collect dependencies and dispatch updates.
|
|
4738
4747
|
*/
|
|
4739
4748
|
var Observer = /** @class */ (function () {
|
|
4740
|
-
function Observer(value, shallow) {
|
|
4749
|
+
function Observer(value, shallow, mock) {
|
|
4741
4750
|
if (shallow === void 0) { shallow = false; }
|
|
4751
|
+
if (mock === void 0) { mock = false; }
|
|
4742
4752
|
this.value = value;
|
|
4743
4753
|
this.shallow = shallow;
|
|
4754
|
+
this.mock = mock;
|
|
4744
4755
|
// this.value = value
|
|
4745
|
-
this.dep = new Dep();
|
|
4756
|
+
this.dep = mock ? mockDep : new Dep();
|
|
4746
4757
|
this.vmCount = 0;
|
|
4747
4758
|
def(value, '__ob__', this);
|
|
4748
4759
|
if (isArray(value)) {
|
|
4749
|
-
if (
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4760
|
+
if (!mock) {
|
|
4761
|
+
if (hasProto) {
|
|
4762
|
+
value.__proto__ = arrayMethods;
|
|
4763
|
+
/* eslint-enable no-proto */
|
|
4764
|
+
}
|
|
4765
|
+
else {
|
|
4766
|
+
for (var i = 0, l = arrayKeys.length; i < l; i++) {
|
|
4767
|
+
var key = arrayKeys[i];
|
|
4768
|
+
def(value, key, arrayMethods[key]);
|
|
4769
|
+
}
|
|
4770
|
+
}
|
|
4754
4771
|
}
|
|
4755
4772
|
if (!shallow) {
|
|
4756
4773
|
this.observeArray(value);
|
|
4757
4774
|
}
|
|
4758
4775
|
}
|
|
4759
4776
|
else {
|
|
4760
|
-
|
|
4777
|
+
/**
|
|
4778
|
+
* Walk through all properties and convert them into
|
|
4779
|
+
* getter/setters. This method should only be called when
|
|
4780
|
+
* value type is Object.
|
|
4781
|
+
*/
|
|
4782
|
+
var keys = Object.keys(value);
|
|
4783
|
+
for (var i = 0; i < keys.length; i++) {
|
|
4784
|
+
var key = keys[i];
|
|
4785
|
+
defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
|
|
4786
|
+
}
|
|
4761
4787
|
}
|
|
4762
4788
|
}
|
|
4763
|
-
/**
|
|
4764
|
-
* Walk through all properties and convert them into
|
|
4765
|
-
* getter/setters. This method should only be called when
|
|
4766
|
-
* value type is Object.
|
|
4767
|
-
*/
|
|
4768
|
-
Observer.prototype.walk = function (obj, shallow) {
|
|
4769
|
-
var keys = Object.keys(obj);
|
|
4770
|
-
for (var i = 0; i < keys.length; i++) {
|
|
4771
|
-
var key = keys[i];
|
|
4772
|
-
defineReactive(obj, key, NO_INIITIAL_VALUE, undefined, shallow);
|
|
4773
|
-
}
|
|
4774
|
-
};
|
|
4775
4789
|
/**
|
|
4776
4790
|
* Observe a list of Array items.
|
|
4777
4791
|
*/
|
|
4778
|
-
Observer.prototype.observeArray = function (
|
|
4779
|
-
for (var i = 0, l =
|
|
4780
|
-
observe(
|
|
4792
|
+
Observer.prototype.observeArray = function (value) {
|
|
4793
|
+
for (var i = 0, l = value.length; i < l; i++) {
|
|
4794
|
+
observe(value[i], false, this.mock);
|
|
4781
4795
|
}
|
|
4782
4796
|
};
|
|
4783
4797
|
return Observer;
|
|
4784
4798
|
}());
|
|
4785
4799
|
// helpers
|
|
4786
|
-
/**
|
|
4787
|
-
* Augment a target Object or Array by intercepting
|
|
4788
|
-
* the prototype chain using __proto__
|
|
4789
|
-
*/
|
|
4790
|
-
function protoAugment(target, src) {
|
|
4791
|
-
/* eslint-disable no-proto */
|
|
4792
|
-
target.__proto__ = src;
|
|
4793
|
-
/* eslint-enable no-proto */
|
|
4794
|
-
}
|
|
4795
|
-
/**
|
|
4796
|
-
* Augment a target Object or Array by defining
|
|
4797
|
-
* hidden properties.
|
|
4798
|
-
*/
|
|
4799
|
-
/* istanbul ignore next */
|
|
4800
|
-
function copyAugment(target, src, keys) {
|
|
4801
|
-
for (var i = 0, l = keys.length; i < l; i++) {
|
|
4802
|
-
var key = keys[i];
|
|
4803
|
-
def(target, key, src[key]);
|
|
4804
|
-
}
|
|
4805
|
-
}
|
|
4806
4800
|
/**
|
|
4807
4801
|
* Attempt to create an observer instance for a value,
|
|
4808
4802
|
* returns the new observer if successfully observed,
|
|
4809
4803
|
* or the existing observer if the value already has one.
|
|
4810
4804
|
*/
|
|
4811
|
-
function observe(value, shallow) {
|
|
4805
|
+
function observe(value, shallow, ssrMockReactivity) {
|
|
4812
4806
|
if (!isObject(value) || isRef(value) || value instanceof VNode) {
|
|
4813
4807
|
return;
|
|
4814
4808
|
}
|
|
@@ -4817,18 +4811,18 @@ function observe(value, shallow) {
|
|
|
4817
4811
|
ob = value.__ob__;
|
|
4818
4812
|
}
|
|
4819
4813
|
else if (shouldObserve &&
|
|
4820
|
-
!isServerRendering() &&
|
|
4814
|
+
(ssrMockReactivity || !isServerRendering()) &&
|
|
4821
4815
|
(isArray(value) || isPlainObject(value)) &&
|
|
4822
4816
|
Object.isExtensible(value) &&
|
|
4823
|
-
!value.__v_skip) {
|
|
4824
|
-
ob = new Observer(value, shallow);
|
|
4817
|
+
!value.__v_skip /* ReactiveFlags.SKIP */) {
|
|
4818
|
+
ob = new Observer(value, shallow, ssrMockReactivity);
|
|
4825
4819
|
}
|
|
4826
4820
|
return ob;
|
|
4827
4821
|
}
|
|
4828
4822
|
/**
|
|
4829
4823
|
* Define a reactive property on an Object.
|
|
4830
4824
|
*/
|
|
4831
|
-
function defineReactive(obj, key, val, customSetter, shallow) {
|
|
4825
|
+
function defineReactive(obj, key, val, customSetter, shallow, mock) {
|
|
4832
4826
|
var dep = new Dep();
|
|
4833
4827
|
var property = Object.getOwnPropertyDescriptor(obj, key);
|
|
4834
4828
|
if (property && property.configurable === false) {
|
|
@@ -4841,7 +4835,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
|
|
|
4841
4835
|
(val === NO_INIITIAL_VALUE || arguments.length === 2)) {
|
|
4842
4836
|
val = obj[key];
|
|
4843
4837
|
}
|
|
4844
|
-
var childOb = !shallow && observe(val);
|
|
4838
|
+
var childOb = !shallow && observe(val, false, mock);
|
|
4845
4839
|
Object.defineProperty(obj, key, {
|
|
4846
4840
|
enumerable: true,
|
|
4847
4841
|
configurable: true,
|
|
@@ -4889,7 +4883,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
|
|
|
4889
4883
|
else {
|
|
4890
4884
|
val = newVal;
|
|
4891
4885
|
}
|
|
4892
|
-
childOb = !shallow && observe(newVal);
|
|
4886
|
+
childOb = !shallow && observe(newVal, false, mock);
|
|
4893
4887
|
if (process.env.NODE_ENV !== 'production') {
|
|
4894
4888
|
dep.notify({
|
|
4895
4889
|
type: "set" /* TriggerOpTypes.SET */,
|
|
@@ -4914,16 +4908,20 @@ function set(target, key, val) {
|
|
|
4914
4908
|
process.env.NODE_ENV !== 'production' && warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly."));
|
|
4915
4909
|
return;
|
|
4916
4910
|
}
|
|
4911
|
+
var ob = target.__ob__;
|
|
4917
4912
|
if (isArray(target) && isValidArrayIndex(key)) {
|
|
4918
4913
|
target.length = Math.max(target.length, key);
|
|
4919
4914
|
target.splice(key, 1, val);
|
|
4915
|
+
// when mocking for SSR, array methods are not hijacked
|
|
4916
|
+
if (!ob.shallow && ob.mock) {
|
|
4917
|
+
observe(val, false, true);
|
|
4918
|
+
}
|
|
4920
4919
|
return val;
|
|
4921
4920
|
}
|
|
4922
4921
|
if (key in target && !(key in Object.prototype)) {
|
|
4923
4922
|
target[key] = val;
|
|
4924
4923
|
return val;
|
|
4925
4924
|
}
|
|
4926
|
-
var ob = target.__ob__;
|
|
4927
4925
|
if (target._isVue || (ob && ob.vmCount)) {
|
|
4928
4926
|
process.env.NODE_ENV !== 'production' &&
|
|
4929
4927
|
warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' +
|
|
@@ -4934,7 +4932,7 @@ function set(target, key, val) {
|
|
|
4934
4932
|
target[key] = val;
|
|
4935
4933
|
return val;
|
|
4936
4934
|
}
|
|
4937
|
-
defineReactive(ob.value, key, val);
|
|
4935
|
+
defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
|
|
4938
4936
|
if (process.env.NODE_ENV !== 'production') {
|
|
4939
4937
|
ob.dep.notify({
|
|
4940
4938
|
type: "add" /* TriggerOpTypes.ADD */,
|
package/dist/vue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vue.js v2.7.
|
|
2
|
+
* Vue.js v2.7.3
|
|
3
3
|
* (c) 2014-2022 Evan You
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -340,7 +340,9 @@
|
|
|
340
340
|
'activated',
|
|
341
341
|
'deactivated',
|
|
342
342
|
'errorCaptured',
|
|
343
|
-
'serverPrefetch'
|
|
343
|
+
'serverPrefetch',
|
|
344
|
+
'renderTracked',
|
|
345
|
+
'renderTriggered'
|
|
344
346
|
];
|
|
345
347
|
|
|
346
348
|
var config = {
|
|
@@ -892,7 +894,7 @@
|
|
|
892
894
|
warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
|
|
893
895
|
}
|
|
894
896
|
}
|
|
895
|
-
var ob = observe(target, shallow);
|
|
897
|
+
var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
|
|
896
898
|
if (!ob) {
|
|
897
899
|
if (target == null || isPrimitive(target)) {
|
|
898
900
|
warn$2("value cannot be made reactive: ".concat(String(target)));
|
|
@@ -954,7 +956,7 @@
|
|
|
954
956
|
var ref = {};
|
|
955
957
|
def(ref, RefFlag, true);
|
|
956
958
|
def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
|
|
957
|
-
ref
|
|
959
|
+
def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
|
|
958
960
|
return ref;
|
|
959
961
|
}
|
|
960
962
|
function triggerRef(ref) {
|
|
@@ -4670,7 +4672,7 @@
|
|
|
4670
4672
|
var onRenderTracked = createLifeCycle('renderTracked');
|
|
4671
4673
|
var onRenderTriggered = createLifeCycle('renderTriggered');
|
|
4672
4674
|
|
|
4673
|
-
var version = '2.7.
|
|
4675
|
+
var version = '2.7.3';
|
|
4674
4676
|
/**
|
|
4675
4677
|
* @internal type is manually declared in <root>/types/v3-define-component.d.ts
|
|
4676
4678
|
*/
|
|
@@ -4746,6 +4748,13 @@
|
|
|
4746
4748
|
function toggleObserving(value) {
|
|
4747
4749
|
shouldObserve = value;
|
|
4748
4750
|
}
|
|
4751
|
+
// ssr mock dep
|
|
4752
|
+
var mockDep = {
|
|
4753
|
+
notify: noop,
|
|
4754
|
+
depend: noop,
|
|
4755
|
+
addSub: noop,
|
|
4756
|
+
removeSub: noop
|
|
4757
|
+
};
|
|
4749
4758
|
/**
|
|
4750
4759
|
* Observer class that is attached to each observed
|
|
4751
4760
|
* object. Once attached, the observer converts the target
|
|
@@ -4753,78 +4762,63 @@
|
|
|
4753
4762
|
* collect dependencies and dispatch updates.
|
|
4754
4763
|
*/
|
|
4755
4764
|
var Observer = /** @class */ (function () {
|
|
4756
|
-
function Observer(value, shallow) {
|
|
4765
|
+
function Observer(value, shallow, mock) {
|
|
4757
4766
|
if (shallow === void 0) { shallow = false; }
|
|
4767
|
+
if (mock === void 0) { mock = false; }
|
|
4758
4768
|
this.value = value;
|
|
4759
4769
|
this.shallow = shallow;
|
|
4770
|
+
this.mock = mock;
|
|
4760
4771
|
// this.value = value
|
|
4761
|
-
this.dep = new Dep();
|
|
4772
|
+
this.dep = mock ? mockDep : new Dep();
|
|
4762
4773
|
this.vmCount = 0;
|
|
4763
4774
|
def(value, '__ob__', this);
|
|
4764
4775
|
if (isArray(value)) {
|
|
4765
|
-
if (
|
|
4766
|
-
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4776
|
+
if (!mock) {
|
|
4777
|
+
if (hasProto) {
|
|
4778
|
+
value.__proto__ = arrayMethods;
|
|
4779
|
+
/* eslint-enable no-proto */
|
|
4780
|
+
}
|
|
4781
|
+
else {
|
|
4782
|
+
for (var i = 0, l = arrayKeys.length; i < l; i++) {
|
|
4783
|
+
var key = arrayKeys[i];
|
|
4784
|
+
def(value, key, arrayMethods[key]);
|
|
4785
|
+
}
|
|
4786
|
+
}
|
|
4770
4787
|
}
|
|
4771
4788
|
if (!shallow) {
|
|
4772
4789
|
this.observeArray(value);
|
|
4773
4790
|
}
|
|
4774
4791
|
}
|
|
4775
4792
|
else {
|
|
4776
|
-
|
|
4793
|
+
/**
|
|
4794
|
+
* Walk through all properties and convert them into
|
|
4795
|
+
* getter/setters. This method should only be called when
|
|
4796
|
+
* value type is Object.
|
|
4797
|
+
*/
|
|
4798
|
+
var keys = Object.keys(value);
|
|
4799
|
+
for (var i = 0; i < keys.length; i++) {
|
|
4800
|
+
var key = keys[i];
|
|
4801
|
+
defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
|
|
4802
|
+
}
|
|
4777
4803
|
}
|
|
4778
4804
|
}
|
|
4779
|
-
/**
|
|
4780
|
-
* Walk through all properties and convert them into
|
|
4781
|
-
* getter/setters. This method should only be called when
|
|
4782
|
-
* value type is Object.
|
|
4783
|
-
*/
|
|
4784
|
-
Observer.prototype.walk = function (obj, shallow) {
|
|
4785
|
-
var keys = Object.keys(obj);
|
|
4786
|
-
for (var i = 0; i < keys.length; i++) {
|
|
4787
|
-
var key = keys[i];
|
|
4788
|
-
defineReactive(obj, key, NO_INIITIAL_VALUE, undefined, shallow);
|
|
4789
|
-
}
|
|
4790
|
-
};
|
|
4791
4805
|
/**
|
|
4792
4806
|
* Observe a list of Array items.
|
|
4793
4807
|
*/
|
|
4794
|
-
Observer.prototype.observeArray = function (
|
|
4795
|
-
for (var i = 0, l =
|
|
4796
|
-
observe(
|
|
4808
|
+
Observer.prototype.observeArray = function (value) {
|
|
4809
|
+
for (var i = 0, l = value.length; i < l; i++) {
|
|
4810
|
+
observe(value[i], false, this.mock);
|
|
4797
4811
|
}
|
|
4798
4812
|
};
|
|
4799
4813
|
return Observer;
|
|
4800
4814
|
}());
|
|
4801
4815
|
// helpers
|
|
4802
|
-
/**
|
|
4803
|
-
* Augment a target Object or Array by intercepting
|
|
4804
|
-
* the prototype chain using __proto__
|
|
4805
|
-
*/
|
|
4806
|
-
function protoAugment(target, src) {
|
|
4807
|
-
/* eslint-disable no-proto */
|
|
4808
|
-
target.__proto__ = src;
|
|
4809
|
-
/* eslint-enable no-proto */
|
|
4810
|
-
}
|
|
4811
|
-
/**
|
|
4812
|
-
* Augment a target Object or Array by defining
|
|
4813
|
-
* hidden properties.
|
|
4814
|
-
*/
|
|
4815
|
-
/* istanbul ignore next */
|
|
4816
|
-
function copyAugment(target, src, keys) {
|
|
4817
|
-
for (var i = 0, l = keys.length; i < l; i++) {
|
|
4818
|
-
var key = keys[i];
|
|
4819
|
-
def(target, key, src[key]);
|
|
4820
|
-
}
|
|
4821
|
-
}
|
|
4822
4816
|
/**
|
|
4823
4817
|
* Attempt to create an observer instance for a value,
|
|
4824
4818
|
* returns the new observer if successfully observed,
|
|
4825
4819
|
* or the existing observer if the value already has one.
|
|
4826
4820
|
*/
|
|
4827
|
-
function observe(value, shallow) {
|
|
4821
|
+
function observe(value, shallow, ssrMockReactivity) {
|
|
4828
4822
|
if (!isObject(value) || isRef(value) || value instanceof VNode) {
|
|
4829
4823
|
return;
|
|
4830
4824
|
}
|
|
@@ -4833,18 +4827,18 @@
|
|
|
4833
4827
|
ob = value.__ob__;
|
|
4834
4828
|
}
|
|
4835
4829
|
else if (shouldObserve &&
|
|
4836
|
-
!isServerRendering() &&
|
|
4830
|
+
(ssrMockReactivity || !isServerRendering()) &&
|
|
4837
4831
|
(isArray(value) || isPlainObject(value)) &&
|
|
4838
4832
|
Object.isExtensible(value) &&
|
|
4839
|
-
!value.__v_skip) {
|
|
4840
|
-
ob = new Observer(value, shallow);
|
|
4833
|
+
!value.__v_skip /* ReactiveFlags.SKIP */) {
|
|
4834
|
+
ob = new Observer(value, shallow, ssrMockReactivity);
|
|
4841
4835
|
}
|
|
4842
4836
|
return ob;
|
|
4843
4837
|
}
|
|
4844
4838
|
/**
|
|
4845
4839
|
* Define a reactive property on an Object.
|
|
4846
4840
|
*/
|
|
4847
|
-
function defineReactive(obj, key, val, customSetter, shallow) {
|
|
4841
|
+
function defineReactive(obj, key, val, customSetter, shallow, mock) {
|
|
4848
4842
|
var dep = new Dep();
|
|
4849
4843
|
var property = Object.getOwnPropertyDescriptor(obj, key);
|
|
4850
4844
|
if (property && property.configurable === false) {
|
|
@@ -4857,7 +4851,7 @@
|
|
|
4857
4851
|
(val === NO_INIITIAL_VALUE || arguments.length === 2)) {
|
|
4858
4852
|
val = obj[key];
|
|
4859
4853
|
}
|
|
4860
|
-
var childOb = !shallow && observe(val);
|
|
4854
|
+
var childOb = !shallow && observe(val, false, mock);
|
|
4861
4855
|
Object.defineProperty(obj, key, {
|
|
4862
4856
|
enumerable: true,
|
|
4863
4857
|
configurable: true,
|
|
@@ -4902,7 +4896,7 @@
|
|
|
4902
4896
|
else {
|
|
4903
4897
|
val = newVal;
|
|
4904
4898
|
}
|
|
4905
|
-
childOb = !shallow && observe(newVal);
|
|
4899
|
+
childOb = !shallow && observe(newVal, false, mock);
|
|
4906
4900
|
{
|
|
4907
4901
|
dep.notify({
|
|
4908
4902
|
type: "set" /* TriggerOpTypes.SET */,
|
|
@@ -4924,16 +4918,20 @@
|
|
|
4924
4918
|
warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly."));
|
|
4925
4919
|
return;
|
|
4926
4920
|
}
|
|
4921
|
+
var ob = target.__ob__;
|
|
4927
4922
|
if (isArray(target) && isValidArrayIndex(key)) {
|
|
4928
4923
|
target.length = Math.max(target.length, key);
|
|
4929
4924
|
target.splice(key, 1, val);
|
|
4925
|
+
// when mocking for SSR, array methods are not hijacked
|
|
4926
|
+
if (!ob.shallow && ob.mock) {
|
|
4927
|
+
observe(val, false, true);
|
|
4928
|
+
}
|
|
4930
4929
|
return val;
|
|
4931
4930
|
}
|
|
4932
4931
|
if (key in target && !(key in Object.prototype)) {
|
|
4933
4932
|
target[key] = val;
|
|
4934
4933
|
return val;
|
|
4935
4934
|
}
|
|
4936
|
-
var ob = target.__ob__;
|
|
4937
4935
|
if (target._isVue || (ob && ob.vmCount)) {
|
|
4938
4936
|
warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' +
|
|
4939
4937
|
'at runtime - declare it upfront in the data option.');
|
|
@@ -4943,7 +4941,7 @@
|
|
|
4943
4941
|
target[key] = val;
|
|
4944
4942
|
return val;
|
|
4945
4943
|
}
|
|
4946
|
-
defineReactive(ob.value, key, val);
|
|
4944
|
+
defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
|
|
4947
4945
|
{
|
|
4948
4946
|
ob.dep.notify({
|
|
4949
4947
|
type: "add" /* TriggerOpTypes.ADD */,
|