vue-final/vue-final-modal

WATCH_ARRAY in @vue/compat is triggered by CoreModal.vue

codepainters opened this issue · 3 comments

Version

vue-final-modal: 4.4.5
vue: 3.3.4
@vue/compat: 3.3.4

What is Expected?

Warning-free execution.

What is actually happening?

This calll to watch() triggers a warning from @vue/compat:

watch(() => [props.zIndexFn, index.value], () => {
if (visible.value)
refreshZIndex(index.value)
})

Actually the warning is legit, as far as I udnerstand the Vue docs:

When you call watch() directly on a reactive object, it will implicitly create a deep watcher - the callback will be triggered on all nested mutations.
This should be differentiated with a getter that returns a reactive object - in the latter case, the callback will only fire if the getter returns a different object.

@codepainters
I am not familiar of what is @vue/compat doing. Can you provide a minimal reproduction?

Basically @vue/compat shows warnings for anything that might need taking care of when transitioning from Vue 2 to Vue 3 (which is what we are doing now).

I'll try to find some time to isolate it.