From c00fde5f2bb1c9c5d350c8e7b193d0f5028525a8 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sat, 10 Mar 2018 13:39:29 -0500 Subject: [PATCH] fix: do not traverse VNodes when regsitering dependencies fix #7786 --- src/core/observer/traverse.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/observer/traverse.js b/src/core/observer/traverse.js index 37c71e9cf98..6b26524affc 100644 --- a/src/core/observer/traverse.js +++ b/src/core/observer/traverse.js @@ -2,6 +2,7 @@ import { _Set as Set, isObject } from '../util/index' import type { SimpleSet } from '../util/index' +import VNode from '../vdom/vnode' const seenObjects = new Set() @@ -18,7 +19,7 @@ export function traverse (val: any) { function _traverse (val: any, seen: SimpleSet) { let i, keys const isA = Array.isArray(val) - if ((!isA && !isObject(val)) || Object.isFrozen(val)) { + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { return } if (val.__ob__) {