Evan You 11 лет назад
Родитель
Сommit
fb38b240b1
2 измененных файлов с 4 добавлено и 3 удалено
  1. 1 1
      src/util/merge-option.js
  2. 3 2
      test/unit/specs/util/merge-option_spec.js

+ 1 - 1
src/util/merge-option.js

@@ -170,7 +170,7 @@ strats.events = function (parentVal, childVal) {
   for (var key in childVal) {
     var parent = ret[key]
     var child = childVal[key]
-    if (!_.isArray(parent)) {
+    if (parent && !_.isArray(parent)) {
       parent = [parent]
     }
     ret[key] = parent

+ 3 - 2
test/unit/specs/util/merge-option_spec.js

@@ -56,18 +56,19 @@ describe('Util - Option merging', function () {
     var parent = {
       events: {
         'fn1': [fn1, fn2],
-        'fn2': [fn2]
+        'fn2': fn2
       }
     }
     var child = {
       events: {
         'fn1': fn3,
+        'fn2': fn3,
         'fn3': fn3
       }
     }
     var res = merge(parent, child).events
     assertRes(res.fn1, [fn1, fn2, fn3])
-    assertRes(res.fn2, [fn2])
+    assertRes(res.fn2, [fn2, fn3])
     assertRes(res.fn3, [fn3])
     
     function assertRes (res, expected) {