vue3路由配置及使用基础

一、为什么要使用路由

SPA(一个Web网站只有唯一的一个html页面)项目中,不同页面之间的切换需要通过前端路由来实现。

二、路由的概念

1、概念理解

就前端路由而言,它是一组Hash地址和组件之间的对应关系,也可以理解为一组“键值对”。

2、前端路由的工作方式

当前hash地址发生改变时,路由监听到他的变化,并把改变后的hash地址对应的组件显示在页面中。

三、一个简单路由的实现

1、在已创建的vue3工程中安装vue-router。

在vscode中最上方点击三个点,选择终端→新建终端,然后在打开的终端输入:npm install vue-router@next -S  ,等待安装成功即可。

 

2、创建一个route.js文件并根据需求写入路由规则

假设现在的工程需求是编写一个用户个人界面,包括首页、个人简介、过往经历 三个部分。那么相应的路由应该如下。createRouter方法用于创建路由实例,createWebHashHistory用于制定路由的工作方式(hash)

// 引入路由方法
import {createRouter,createWebHashHistory} from 'vue-router'
// 引入要管理的三个组件
import HomePage from "../components/homePage.vue" //此处应该是你存放相应组件的文件位置
import PersonalInformation from "../components/personalInformation.vue"//此处应该是你存放相应组件的文件位置
import Experience from "../components/experience.vue"//此处应该是你存放相应组件的文件位置
// 制定路由规则
const router = createRouter({
    history:createWebHashHistory(),

    routes:[
        { path: '/', redirect: '/homePage'},
        { path: '/homePage', component: HomePage} ,
        { path: '/personalInformation', component: PersonalInformation},
        { path: '/experience', component: Experience}
    ],
})
// 将定义好的路由暴露给外部
export default router

3、为路由匹配相应组件并导入路由模块同时挂载使用

根据工程需求,我们的components文件夹中应该包含三个文件 分别是:homePage.vue,  personalInformation.vue,  和experience.vue。

 

然后在main.js文件中引入路由并使用

import { createApp } from 'vue'
import App from './App.vue'
import router from "./router/router.js"
const app=createApp(App);
app.use(router)
app.mount('#app');

同时在根组件App.vue中写入路由链接(使用<router-link>标签)和路由占位符(使用router-view标签)。 

<script setup>


</script>

<template>
  <!-- 声明路由链接 -->
  <router-link to="/homePage">首页</router-link>
  <router-link to="/personalInformation">个人简介</router-link>
  <router-link to="/experience">过往经历</router-link>
  <<hr/>
<!-- 路由占位符 -->
  <router-view></router-view>
</template>

<style >
  #app{
    width:100%;
    height:100%;
    overflow:hidden;
  }
</style>

创建完成,页面效果

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中,可以使用动态路由标签栏来实现管理后台的需求。首先,你需要设置路由,并配置相关的菜单和导航。基于Router的配置,可以添加title、icon等菜单所需的属性。可以使用baseUrl来设置基础URL,用于发布到非根目录的情况。可以设置home来指定默认显示的组件。menus用于定义路由和菜单集合。naviId和menuId用于指定导航ID和路由的名称。path用于指定路由的路径。title用于设置浏览器的标题。icon用于菜单的图标。childrens用于定义子菜单。 对于管理后台,一个必要的需求是根据用户的权限来加载路由和菜单。这可以通过动态加载路由和菜单来实现。根据用户的权限,你可以动态生成路由和菜单,并将其添加到已有的路由配置和菜单集合中。 除了菜单和路由,你可能还需要实现一个动态多tab的功能。为了满足不同的需求,你可以封装两个组件:一个单tab的组件和一个动态多tabs的组件。单tab组件可以参考Router的router-view组件进行封装,使用动态组件来加载具体的内容。 最后,你还可以加上权限判断来限制用户访问某些路由和菜单。根据用户的权限,你可以在加载路由和菜单时进行判断,只显示用户有权限访问的内容。这可以通过在路由配置和菜单集合中添加权限字段,并在加载时进行判断来实现。 综上所述,你可以通过设置路由配置菜单、使用动态tab和加上权限判断来实现Vue3中的路由标签栏。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值