vue项目内有一个分享功能,但是这个分享出去的页面打开会非常慢,所以就想到了单独写了一套H5页面专门用于手机端打开,然后在这个vue项目的分享页面初始化函数里面加一个判断终端是否为移动端,如果是就再做一次跳转,到这个单独的H5页面上去,这样就不会去加载vue框架,打开速度会更快。以上是初始方案和预期。
但是问题就是:因为这个分享链接的路径仍然是VUE项目的路由页面,所以尽管在初始化生命周期内就做了判断并加以重现跳转,在测试的时候发现,分享出去用手机打开网页的时候,仍然需要加载很久的vue框架,并且在成功初始化vue项目后才会跳转到H5。这样就没有达到预期的效果。
然后又做了第二次改动,把这个判断的流程从原来的分享页面的生命周期里面搬到router路由拦截里面去
,以期能绕开vue项目的初始化并快速跳转到H5页面打开界面的效果。但是仔细想了一下,仍然无法绕开vue项目初始化这个阶段,依然会非常耗时间。
所以想请教一下,这种情况下,如何能实现在vue项目内,在项目初始化之前就能通过判断,跳转到第三方页面去——需要注意的一点是,不能直接在静态入口页面index.html里面就直接跳转,因为不能影响vue项目的正常流程,只能在特定的路由/invite页面才能做对应跳转。
ps:现在我给产品的保底方案就是在分享功能这里,单独加一个手机端的分享链接(虽然能简单粗暴的解决问题),但是有点不甘心啊,主要就是想在/invite这个路由界面一加载就做判断并且跳转的方案最优雅。但是默认打开这个路由的时候,都会去初始化加载vue框架,问题症结就在这里
目前的解决方案是在静态资源文件index.html内加入终端判断,是移动端的直接跳转到外部页面。实现了打开分享路由页面后不加载vue框架,直接跳转的目的
讲真,你这套方案槽点有点多……
总之,当你要做架构的工作时,就要用架构的思维模式去思考。烧煤上不了太空。
你需要理解vue的插件实现原理,vue的插件本身就是具备完整功能的,它只是被挂载到vue上,然后让你可以在vue内去使用它而已。你初不初始化vue跟使用vue-router插件是两个独立的体系,根本不相关:
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes,
});
console.log(router);
// TODO...
createApp(AppComponent).use(router).mount('#root');
加一个判断终端是否为移动端
这部分可以写在 main.js App.vue mount 挂在之前,路由可以通过 location.href 获取
没有安装 San-CLI 需要安装 npm i -g san-cli 快速创建 san init <app-name> 创建的是 san 项目。 app-name 是要创建的工程项目目录,可以为.(即在当前目录下创建)。 指定脚手架创建 san init <template> <app-name> template 是工程项目脚手架地址,支持 github、icode、gitlab 等 re
如何确保在输入有效输入之前,仍然允许循环,同时初始化此InputStream? 谢谢你
本文向大家介绍vue页面跳转后返回原页面初始位置方法,包括了vue页面跳转后返回原页面初始位置方法的使用技巧和注意事项,需要的朋友参考一下 vue页面跳转到新页面之后,再由新页面返回到原页面时候若想返回调出原页面的初始位置,怎么来解决这个问题呢?首先我们应该在跳出页面时候记录下跳出的scrollY,返回原页面的时候在设置返回位置为记录下的scrolly即可,scrolly我用的是vuex状态管理器
项目初始化 俗话说磨刀不误砍柴工,在开始之前要完成一些准备工作以便移植其他框架的组件,首先我们得把框架给安装好,easySwoole是一个非常易于使用的框架,安装一样很简单,只需要切换到项目根目录 //命令行快速安装 bash <(curl https://www.easyswoole.com/installer.sh) //OR curl https://www.easyswoole.com/i
本文向大家介绍vue项目中跳转到外部链接的实例讲解,包括了vue项目中跳转到外部链接的实例讲解的使用技巧和注意事项,需要的朋友参考一下 当我们在文件中,如果是vue页面中的内部跳转,可以用this.$router.push()实现,但是如果我们还用这种方法跳到外部链接,就会报错,我们一看链接的路径,原来是我们的外部链接前面加上了http://localhost:8080/#/这一串导致跳转出现问题
本文向大家介绍vue实现登录后页面跳转到之前页面,包括了vue实现登录后页面跳转到之前页面的使用技巧和注意事项,需要的朋友参考一下 在开发中我们经常遇到这样的需求,需要用户直接点击一个链接进入到一个页面,用户点击后链接后会触发401拦截返回登录界面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢? 先说一下我们需要用到的几个API: 1.router.currentRoute:当前的路由
问题: 前端如何跳转页面路径 ? 我尝试使用了路由的语法, 但是没有跳转
如题,各位我有一个项目,现在有一个需求,在弹出窗口中跳转到一个选择页面,选择完成之后返回原来的页面,如何保持原来的页面状态不变? 尝试过使用keep-alive但是效果不理想。 请问有什么办法,或者什么思路! 备注:页面都是同一个站点的