Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Persistent / Global Components #2061

Open
TheAlexLichter opened this issue Feb 11, 2025 · 0 comments
Open

Persistent / Global Components #2061

TheAlexLichter opened this issue Feb 11, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@TheAlexLichter
Copy link
Contributor

TheAlexLichter commented Feb 11, 2025

Is your feature request related to a problem? Please describe.

As an educator, I want to show a demo of a running script, e.g. a 3D Scene rendered via TresJS throughout my slides.
The scene should not reload when slides are switched and instead stay the same (or, if I control it via props, even do something else).

Same could be applied to iframes that are shown in a 2-column layout during a presentation.

Originally, @toddeTV hit this issue when creating slides around 3D and Vue.

Describe the solution you'd like

It would be great to have a way to keep these components alive somehow, so they do not re-render when the slides are changed.

Describe alternatives you've considered

  • Teleports + global-top.vue - doesn't work, no matter if deferred or not. Maybe a pattern from https://github.com/marchantweb/nuxt-adaptive-teleport could be applied but would still cause issues with TresJS/3D content.
  • global-top.vue w/o teleports - works for all types of content but is even hackier 😂
  • layouts -> same problem!

Related

(Somewhat) #2041

@TheAlexLichter TheAlexLichter added the enhancement New feature or request label Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant