From a7e52a289f8031bff19e5541338e8d3511312984 Mon Sep 17 00:00:00 2001 From: Nikolai Iakovlev Date: Wed, 7 Mar 2018 22:58:12 +0300 Subject: [PATCH] fix(observer): do not invoke getters on initial observation (#7302) fix #7280 --- src/core/observer/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/observer/index.js b/src/core/observer/index.js index 86a21f9e4f2..244876b2172 100644 --- a/src/core/observer/index.js +++ b/src/core/observer/index.js @@ -61,7 +61,7 @@ export class Observer { walk (obj: Object) { const keys = Object.keys(obj) for (let i = 0; i < keys.length; i++) { - defineReactive(obj, keys[i], obj[keys[i]]) + defineReactive(obj, keys[i]) } } @@ -145,6 +145,9 @@ export function defineReactive ( // cater for pre-defined getter/setters const getter = property && property.get + if (!getter && arguments.length === 2) { + val = obj[key] + } const setter = property && property.set let childOb = !shallow && observe(val)