总结 我正在寻找一种解决方案来在 Vue 中跨两个不同的路由器视图创建动画。我遇到的问题是,当浏览器切换到另一个路由器视图时,它会重新渲染页面。所以当浏览器重新渲染时动画就会消失。
动画
基本上,该应用程序有两个不同的页面:homepage和aboutpage。当用户单击蓝色菜单按钮时,绿色导航菜单将从左向右滑动,直到覆盖整个屏幕。该菜单有两个链接:about和home。如果用户单击“关于”,白色覆盖层将从左侧移动并覆盖整个屏幕,然后移动到右侧并消失。关于页面消失后显示。这是codepen示例,演示了我想要实现的动画效果(该演示没有使用路由器)。 https://codepen.io/wl1664209734/pen/qBamXEL
下面是在codepen中的vue模板中重新创建动画的代码
我的代码的解释
这里是codeSandbox链接,我在这个沙箱中重现了问题,我认为这将帮助人们更好地理解我的问题。 https://codesandbox.io/s/vue-page-shift-anime-yp1yf
在这个沙箱中,我使用了 vue 模板。它包括一个主要组件:App.vue和 5 个其他组件:Homepage.vue、Aboutpage.vue、Background.vue、Navbar.vue、Navigation.vue。背景包含导航栏和导航以形成应用程序的静态元素。主页和关于页面都有背景和独特的标题。Homepage的标题是 HOME,Aboutpage的标题是 ABOUT。然后,我在 main.js 中配置路由器,并将 router-view 标签放入 App.vue中。我还将路由器链接添加到Navigation.vue。我向 router-link 添加了一个点击事件(页面移位),该事件被发送到Background.vue。因此,当用户单击链接时,它将调用 Background.vue中的pageShift方法,导致动画发生。
HUH函数
相关分类