diff --git a/src/core/instance/state.js b/src/core/instance/state.js index eb8ec4b71b8..b1549b0dcc4 100644 --- a/src/core/instance/state.js +++ b/src/core/instance/state.js @@ -111,8 +111,9 @@ function initProps (vm: Component, propsOptions: Object) { function initData (vm: Component) { let data = vm.$options.data - // $options.data is guaranteed to be a function after merge - data = vm._data = getData(data, vm) + data = vm._data = typeof data === 'function' + ? getData(data, vm) + : data || {} if (!isPlainObject(data)) { data = {} process.env.NODE_ENV !== 'production' && warn(