VUE路由初体验,为初学者解析路由基础知识(二)

前言

在上一篇文章中我已经详细讲述了该如何安装并且配置一个vue路由,对于初学者而言在经过简单的练习之后应该可以独立完成这些工作,在这篇文章中我将继续详解讲述如何进一步配置路由使它能够完成更加复杂一些的任务,例如重定向,子父组件传参等。 VUE路由初体验,为初学者解析路由基础知识(一)

正文

给路由添加组件

我们可以将路由想象成一个大口袋,当用户需要什么页面,路由就会根据对应的路径把包裹掏出来并展示给用户。那么我们在配置好路由这个大口袋之后,就需要把包裹一个个塞进去。依旧是通过import的方法

js 复制代码
import {createWebHistory ,createRouter} from 'vue-router'
import Home from '../views/Home.vue'
import About from '../views/About.vue'
import Newest from '../views/homeChild/newest.vue'

这里有必要解释一下第一行代码,这行代码使用了 ES6 的解构赋值语法,从 vue-router 模块中导入了 createWebHistory 和 createRouter 函数。createWebHistory 函数用于创建一个基于 HTML5 History API 的路由模式,可以在浏览器的地址栏中显示真实的 URL。而 createRouter 函数则是用于创建路由实例的工厂函数,它接受一个路由配置对象作为参数,返回一个可用于创建 Vue 实例的路由实例。因为在 Vue 3 中,路由模块是独立的模块,需要单独安装和导入。因此,我们需要使用 import 关键字将需要的函数从 vue-router 中导入,以便在我们的代码中使用。如果是初学者想要完全理解或许会感到有些困难,不必在意,毕竟也不是每个程序员都能完全理解自己的代码。剩余的就是将自己已经写好的vue实例引入并赋值给import后面的变量名,变量名可以自己定义,但需要注意在使用时确保变量名使用正确。

路由的重定向

举个最简单的例子当我们在PC端进入掘金官网时,掘金会自动进入到首页下的综合目录,而不需要我人为的点击,这里就涉及到一个vue的路由重定向的问题。解决方法十分简单,在router文件夹下的index文件中我们已经写好了一个routes的数组,我们只需要在数组中添加一个数组元素如下:

js 复制代码
  {
        path:'/',
        redirect:'/homepage'
    },

这就意味着当路径是首页时,会自动重定向到首页目录下的homepage页面并展示对应的组件,同样的,如果是需要在homepage下依旧需要重定向,那么我们就需要在index文件中homepage所对应的对象中进行修改

js 复制代码
 {
        path:'/homepage',
        component:Home,

        children:[
            {
                path:'/homepage',//当路径为homepage时
                redirect:'/homepage/newest'//重定向到/homepage/newest
            },
            {
                path:'newest',//二级路由不加斜杠
                component:Newest
            },

            {
                path:'recommend',
                component:() => import('../views/homeChild/recommend.vue')//另一种引入方式
            },
        ]

    },

不过需要注意是,在homepage页面再次进行重定向时,重定向的页面属于子页面,需要在homepage的对象中再定义一个名为children的数组,并在数组中声明重定向的路径与组件,同时,作为二级组件,引用地址不需要加'/'

router-link标签

实现页面跳转这块每次都让用户自己手敲地址的话,那网站离倒闭也就不远了,在多页开发时我们经常会使用到a标签去做一个页面的跳转,但在vue中以及封装好了更加好用的标签---router-link。看着好像挺复杂挺高大上的玩意,其本质还是一个a标签,只不过通过封装使其变得更加简单好用罢了

js 复制代码
 <router-link to="/homepage">home</router-link>|
 <router-link to="/aboutpage">about</router-link>

后面接的to就是指定跳转的地址,例如以下标签就会分别跳转到该路径下的home页面和about页面

总结

文章内容非常简单,对于初学者而言理解起来应该也不会有太大问题。vue路由可以说是vue的关键之一,也是vue框架实现组件化开发必不可少的一个元素,最近两篇文章可以做个小的demo练练手,在之后的文章中我会继续介绍组件之间的传参以及原理等内容,希望可以帮助到大家。

相关推荐
Anastasiozzzz3 分钟前
LeetCode Hot100 295. 数据流的中位数 MedianFinder
java·服务器·前端
橙露35 分钟前
React Hooks 深度解析:从基础使用到自定义 Hooks 的封装技巧
javascript·react.js·ecmascript
Exquisite.37 分钟前
Nginx
服务器·前端·nginx
2501_920931701 小时前
React Native鸿蒙跨平台使用useState管理健康记录和过滤状态,支持多种健康数据类型(血压、体重等)并实现按类型过滤功能
javascript·react native·react.js·ecmascript·harmonyos
打小就很皮...1 小时前
dnd-kit 实现表格拖拽排序
前端·react.js·表格拖拽·dnd-kit
Ulyanov1 小时前
从静态到沉浸:打造惊艳的Web技术发展历程3D时间轴
前端·javascript·html5·gui开发
打小就很皮...1 小时前
React 19 + Vite 6 + SWC 构建优化实践
前端·react.js·vite·swc
Highcharts.js1 小时前
使用Highcharts与React集成 官网文档使用说明
前端·react.js·前端框架·react·highcharts·官方文档
这是个栗子1 小时前
AI辅助编程(二) - 通译千问
前端·ai·通译千问
VT.馒头1 小时前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript