diff --git a/src/core/util/options.js b/src/core/util/options.js index 243567859de..fe44ae800d5 100644 --- a/src/core/util/options.js +++ b/src/core/util/options.js @@ -144,12 +144,14 @@ strats.data = function ( * Hooks and props are merged as arrays. */ function mergeHook ( - parentVal: ?Array, + parentVal: ?Function | ?Array, childVal: ?Function | ?Array ): ?Array { const res = childVal ? parentVal - ? parentVal.concat(childVal) + ? Array.isArray(parentVal) + ? parentVal.concat(childVal) + : [parentVal].concat(childVal) : Array.isArray(childVal) ? childVal : [childVal]