diff --git a/src/core/observer/index.js b/src/core/observer/index.js index 4a030ed7f99..35469aaf16a 100644 --- a/src/core/observer/index.js +++ b/src/core/observer/index.js @@ -147,10 +147,10 @@ export function defineReactive ( // cater for pre-defined getter/setters const getter = property && property.get - if (!getter && arguments.length === 2) { + const setter = property && property.set + if ((!getter || setter) && arguments.length === 2) { val = obj[key] } - const setter = property && property.set let childOb = !shallow && observe(val) Object.defineProperty(obj, key, {