diff --git a/packages/core/src/container/VueFlow/VueFlow.vue b/packages/core/src/container/VueFlow/VueFlow.vue index b45e87a4..516b3db9 100644 --- a/packages/core/src/container/VueFlow/VueFlow.vue +++ b/packages/core/src/container/VueFlow/VueFlow.vue @@ -53,6 +53,7 @@ const modelEdges = useVModel(props, 'edges', emit) const { vueFlowRef, hooks, getNodeTypes, getEdgeTypes, ...rest } = useVueFlow(props) +// watch props and update store state const dispose = useWatchProps({ modelValue, nodes: modelNodes, edges: modelEdges }, props, { vueFlowRef, hooks, @@ -63,9 +64,13 @@ const dispose = useWatchProps({ modelValue, nodes: modelNodes, edges: modelEdges useHooks(emit, hooks) +// slots will be passed via provide +// this is to avoid having to pass them down through all the components +// as that would require a lot of boilerplate and causes significant performance drops provide(Slots, slots) onUnmounted(() => { + // clean up watcher scope dispose() }) @@ -88,11 +93,11 @@ export default {