首页IT科技vue 路由不跳转新页面,有的没有(Vue项目启动后跳转到制定路由页面)

vue 路由不跳转新页面,有的没有(Vue项目启动后跳转到制定路由页面)

时间2025-06-16 02:04:22分类IT科技浏览4553
导读:前言 今天把自己的项目布局完成了,但是想在项目启动的时候默认跳转到登录页面。...

前言

今天把自己的项目布局完成了               ,但是想在项目启动的时候默认跳转到登录页面              。

这其实需要借助路由实现跳转

开始编写之前                      ,大家可以看下我的布局:

安装并使用路由

关于如何安装并使用路由      ,可以参考:Vue安装并使用路由和路由器

编写路由规则

需要对index.js进行修改           ,根据需求配置需要跳转的那个组件的路由                       ,我的需求已经很明确了         ,就是登录的组件                     。

引入需要的组件

// 引入登录组件 import Login from ../pages/Login.vue

配置路由

然后配置login组件的路由

// 登录组件路由 { path: /login, component: Login, name: "Login" },

配置完login组件路由后       ,还要继续配置路由默认跳转

// 路由默认跳转 { path: /, // 如果路由为/ redirect: /login //重定向到登录组件 },

完整代码如下:

// 该文件专门用于创建整个应用的路由器 // 引入路由器 import VueRouter from vue-router // 引入登录组件 import Login from ../pages/Login.vue // 引入用户组件 import User from ../pages/User.vue // 引入代办组件 import Todo from ../pages/Todo.vue // 引入内容区组件 import Main from ../components/Main.vue // 引入首页组件 import Home from ../pages/Home.vue // 创建并且暴露文件一个路由器 export default new VueRouter({ // 配置路由 本质是一个数组                        ,在里面配置多组路由             ,每一个路由都是一个key和value映射对象 routes: [ // 路由默认跳转 { path: /, // 如果路由为/ //path: *, // 如果路由为* redirect: /login //重定向到登录组件 }, // 登录组件路由 { path: /login, component: Login, name: "Login" }, { path: /main, // 如果输入的是路由地址是main   ,就重定向到/main/user                       ,也就是user组件中 redirect: /main/user, name: "Main", component: Main, // main路由下的子路由                 ,菜单都可以写在main的子路由下 children: [ // 用户组件路由 { path: user, // children里面的path不需要加杠了,底层遍历的时候会自动加入 component: User, name: "User" }, // 待办组件路由 { path: todo, component: Todo, name: "Todo" }, // 主页组件路由 { path: home, component: Home, name: "Home" }, ] }, ] })

测试

这时候在浏览器输入项目的访问地址:

比如我的是:http://localhost:8081,就会默认把地址换成

http://localhost:8081/#/login                   ,从而实现跳转到login页面        。

这样就实现了Vue项目启动后实现跳转制定路由页面的功能

同时也可以手动更换别的路由                     ,比如:

但是如果乱输入路由   ,是不能跳转的:

这种情况我们可以使用*来代替/

*:不管路由是什么               ,都会重定向到/login                      ,比/的适配性更强

再来测试下           。还是随便输入一堆东西:

按下回车      ,默认跳到/login的路由:

如果使用了"*"            ,就不能通过手动输入路由的方式进行手动切换路由了                       ,有时候不利于调试                    。根据自己的需求灵活选择即可            。

通过js代码实现路由跳转

最后再插点题外话         ,如果想要实现js代码的方式实现路由跳转       ,可以这么写:

push(‘xxx’) xxx=想要跳转的路由路径

this.$router.push(/main/home)

完整代码为:

我这个登录页面只是测试                        ,login按钮也是一个假的登录             ,没有做逻辑处理   ,这是为了演示最基本的路由跳转        。

<template> <div> <el-button type="primary" @click="login">登录</el-button> </div> </template> <script> import router from @/router; export default { name: "Login", methods:{ // 登录 login(){ this.$message({ showClose: true, message: 登录成功!, type: success, duration:2000, center:true }); this.$router.push(/main/home) } } }; </script> <style> </style>

点击登录:

成功跳转到其他路由!

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
semfio(探秘SEM与SEO的异同:提升网站曝光的两大法宝) 区块链元宇宙概念是什么(元宇宙区块链协议Meta0宣布与Polygon建立合作关系)