diff --git a/.changeset/neat-days-learn.md b/.changeset/neat-days-learn.md new file mode 100644 index 00000000..83631017 --- /dev/null +++ b/.changeset/neat-days-learn.md @@ -0,0 +1,5 @@ +--- +"@vue-flow/core": patch +--- + +Correctly check if an event listener was bound to the VueFlow component, using for example `@node-click` or if a listener was bound using the exposed event hooks from `useVueFlow` when determening if a listener for an event exists at all. diff --git a/packages/core/src/container/VueFlow/VueFlow.vue b/packages/core/src/container/VueFlow/VueFlow.vue index f71a823b..4f69763a 100644 --- a/packages/core/src/container/VueFlow/VueFlow.vue +++ b/packages/core/src/container/VueFlow/VueFlow.vue @@ -56,12 +56,12 @@ const modelValue = useVModel(props, 'modelValue', emit) const modelNodes = useVModel(props, 'nodes', emit) const modelEdges = useVModel(props, 'edges', emit) -const instance = useVueFlow(props) +const vfInstance = useVueFlow(props) // watch props and update store state -const dispose = useWatchProps({ modelValue, nodes: modelNodes, edges: modelEdges }, props, instance) +const disposeWatchers = useWatchProps({ modelValue, nodes: modelNodes, edges: modelEdges }, props, vfInstance) -useHooks(emit, instance.hooks) +useHooks(emit, vfInstance.hooks) useOnInitHandler() @@ -72,12 +72,9 @@ useStylesLoadedWarning() // as that would require a lot of boilerplate and causes significant performance drops provide(Slots, slots) -onUnmounted(() => { - // clean up watcher scope - dispose() -}) +onUnmounted(disposeWatchers) -defineExpose(instance) +defineExpose(vfInstance)