【Vue前端】路由延迟跳转


前言

仅此作个人学习记录


一、安装相关依赖

npm install vue-router
npm i element-ui

二、引入库

main.js

import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import Router from 'vue-router'

Vue.use(Router);
Vue.use(ElementUI);

new Vue({
	router,
	render: h => h(App)
}).$mount('#app')

app.vue

<template>
	<div id="app">
		<!-- 路由出口 -->
		<router-view></router-view>  
  	</div>
</template>

<script>
	export default {
		name: 'app',
	}
</script>

三、步骤

router目录
在这里插入图片描述

2. index.js

//声明
import login from '../components/login.vue'
import home from '../components/home.vue'

//创建路由
const routes = [
	{
		path: '/',
		name: 'Home',
		redirect: '/login'
	},
	{path:"/login",component:login},
	{path:"/home",component:home}
]

//定义路由实例
const router = new Router({
  routes
})
export default router

3. 在main.js中声明路由

import router from "@/router/index";

main.js作为总文件,基本框架搭建好后不需要经常修改,修改路由在index.js内修改

3. components目录下新建login.vue、home.vue

login.vue

<template>
	<el-container>
		<el-button @click.native.prevent="handleLogin">登录</el-button>
	</el-container>
</template>

<script>
export default {
	name: 'login',
	data() {
		return {
			count:''
		},
		methods:{
			handleLogin{
				this.$message.success("登录成功,3秒后返回主页面");
				const timejump = 3;
				if(!this.timer){
					this.count = timejump ;
					this.show = false;
					this.timer = setInterval(() => {
						if(this.count > 0 && this.count <= timejump ){
							this.count--;
						}else{
							this.show = true;
							clearInterval(this.timer);
							this.timer = null;
							//跳转的页面写在此处
							this.$router.push({path: '/home'});
						}
					},100)
				}
			}
		}	
</script>

最终会发送一条成功信息,并在3秒后跳转主页面

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于 Vue 点击路由跳转延迟的问题,可能有几个原因导致。以下是一些可能的解决方案: 1. 异步加载组件:如果路由跳转的目标页面包含较大的组件或网络请求,可能会导致延迟。您可以尝试使用 Vue 的异步组件加载功能,将组件按需加载,以提高页面加载速度。您可以使用 `import()` 函数动态导入组件,或者使用 Vue Router 的 `component` 配置项的函数形式来实现异步加载。 2. 路由懒加载:如果您的应用程序包含多个页面,并且每个页面都有大量的代码和组件,可以考虑使用路由懒加载。通过将每个页面拆分为单独的块,只有在需要时才加载它们,可以减少初始加载时间,并提高页面切换的响应速度。 3. 使用 Vue Router 的 `beforeRouteEnter` 守卫:如果在路由切换时需要进行一些异步操作(如数据加载),可以考虑使用 `beforeRouteEnter` 守卫来控制路由的进入。这样可以确保在路由组件被加载之前执行必要的异步操作,并在完成后再渲染组件,以减少延迟。 4. 优化网络请求:如果您的路由跳转需要进行网络请求,可以优化请求的处理方式。例如,您可以使用异步请求或者使用缓存来减少请求的响应时间,从而提高页面切换的速度。 5. 性能优化:除了上述的解决方案,还可以进行一些常规的性能优化操作,如减少组件的数量和复杂度、使用组件级别的懒加载、使用缓存等。 这些都是一些常见的解决方案,具体应该根据您的应用程序和需求进行调整。希望对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值