Closed
Description
Vue version
3.4.15
Link to minimal reproduction
https://github.com/CamilleDrapier/vue-test/
Steps to reproduce
- checkout the provided repo
- run
npm install
- run
npm run dev
- open your favorite browser on the provided local URL
- open the web console of your browser
- Click on the
Unknown
button/tab
What is expected?
- A log with "To the unknown~" should appear (i.e.: when unmounting the page, the application should detect that the new route is not a "isAnyRoute" anymore).
- This log should appear each time when the route is transitioned between "home" and "unknown" afterward.
What is actually happening?
- No log with "To the unknown~"
System Info
System:
OS: Linux 6.5 KDE neon 5.27 5.27
CPU: (12) x64 Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz
Memory: 12.17 GB / 30.97 GB
Container: Yes
Shell: 5.8.1 - /usr/bin/zsh
Binaries:
Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node
npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm
Browsers:
Chrome: 121.0.6167.85
npmPackages:
vue: ^3.4.15 => 3.4.15
Any additional comments?
This repo comes with a couple of extra branches:
vue-3.3.13
that tries to confirm that the same code works as expected with Vue3.3.13
(please runnpm install
and rerun your server after switching branches)is-home
which uses a slightly less-nestedisHome
computed, which seems to work as expected.no-watch
, which comments out a watcher on the "offending isAnyRoute" computed. The application seems to work as expected.
This problem could be related to other reactivity issues that were reported on the 3.4.X
branch, but it is a bit difficult for me to say if it is a duplicate of another issue. I could confirm that the same problem happens as well in 3.4.13
, so maybe it is different than #10185 but might still be the same "narrow edge case" that is mentioned over there.
Sorry in advance for this complex use case; if anything it might not affect many users, and it can probably be worked around if need be~ 🙇