Vue 路由使用

今天在学习 Vue 的时候用到了 路由(router),这里简单记录下使用过程。

什么是路由

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。
vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,实际上就是组件的切换。路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是我们WebApp的链接路径管理系统。

为什么需要路由

因为我们一般用Vue做的都是单页应用,只有一个主页面index.html,所以原来的标签是不起作用的,要使用vue-router来进行管理。
详细的原因可以参考这位大佬的解释https://zhuanlan.zhihu.com/p/26003077

背景

现有两个页面 http://127.0.0.1:5173/login 和 http://127.0.0.1:5173, 分别对应了登录页面和主页面,现在想实现登录后跳转到主页面。
登录页面和主页面对应的 vue 文件分别为 Login.Vue 和 Layout.Vue。
在这里插入图片描述
在这里插入图片描述

实现

安装

npm install vue-router

创建路由器并使用

在 src/router/index.js 中添加一下代码

import { createRouter, createWebHistory } from "vue-router";

// 导入登录组件和主页面组件,就是刚才说的 Login.vue 和 Layout.vue
import LoginVue from '@/views/login.vue'
import LayoutVue from '@/views/layout.vue'

// 定义路由关系
const routes = [
    {
        path: '/login',
        name: 'Login',
        component: LoginVue
    },
    {
        path: '/',
        name: 'Layout',
        component: LayoutVue
    }
]

// 创建路由
const router = createRouter({
    history: createWebHistory(),
    routes: routes
})

// 导出路由
export default router

在 vue 应用实例中使用 router

import './assets/main.scss'

import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// 导入路由
// 因为这里路由的文件是 index.js, 所以直接写@/router就可以了,
// 如果是其他名字,需要在router后面加上文件名,@/router/***.js
import router from '@/router'

const app = createApp(App)
// 使用路由
app.use(router)
app.use(ElementPlus)
app.mount('#app')

定义展示路由组件的地方

<script setup>

</script>

<template>
	<!-- 展示路由 -->
  <router-view></router-view>
</template>

<style scoped>

</style>

最后给登录按钮添加一个点击事件

// 调用后台接口,完成登录
    import { useRouter } from 'vue-router'
    const router = useRouter();
    // 点击登录按钮会调用此方法
    const login = async () => {
        // 跳转到首页
        router.push('/')
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值