vue-router实现简单vue多页切换、嵌套路由、路由跳转的步骤和报错
作者:June_YYang
最近学习到VUE路由这块,发现这块知识点有点多,好容易混乱,这篇文章主要介绍了vue-router实现简单vue多页切换、嵌套路由、路由跳转的步骤和报错的相关资料,需要的朋友可以参考下
官方说明文档:
vue3选择V4.x,vue2选择V3.x
一、安装vue-router
npm i vue-router@3.6.5 //npm //or yarn add vue-router@3.6.5 //yarn
查看项目依赖中是否有vue-router
二、引入vue-router实现路由切换
在src文件夹中新建router文件夹,新建index.js文件等等(main.vue是嵌套路由,后期讲)
Home.vue示例
<template> <h1>Home</h1> </template> <script> export default { data() { return {} }, } </script>
User.vue示例
<template> <h1>Users</h1> </template> <script> export default { data() { return {} }, } </script>
在index.js文件中写以下代码:
import Vue from 'vue' import VueRouter from 'vue-router' import Home from '../views/Home.vue' import User from '../views/User.vue' import Main from '../views/Main.vue' Vue.use(VueRouter) //1、创建路由组件
将路由与组件进行映射
const routes = [ { path: '/home', component: Home }, { path: '/user', component: User }, ]
创建 router 实例,然后传 `routes` 配置,你还可以传别的配置参数, 不过先这么简单着吧。
const router = new VueRouter({ routes, // (缩写) 相当于 routes: routes }) export default router
在app.vue中写以下代码:
<template> <div id="app"> <!-- 路由出口 --> <!-- 路由匹配到的组件将渲染在这里 --> <router-view></router-view> </div> </template> <script> export default { name: 'App', } </script>
三、嵌套路由
编写router|index.js,添加引入、映射
import Vue from 'vue' import VueRouter from 'vue-router' import Home from '../views/Home.vue' import User from '../views/User.vue' import Main from '../views/Main.vue' Vue.use(VueRouter) //1、创建路由组件 //2、将路由与组件进行映射 const routes = [ //主路由 { path: '/', component: Main, children: [ //子路由 { path: '/home', component: Home }, { path: '/user', component: User }, ], }, { path: '/home', component: Home }, { path: '/user', component: User }, ] // 3. 创建 router 实例,然后传 `routes` 配置 // 你还可以传别的配置参数, 不过先这么简单着吧。 const router = new VueRouter({ routes, // (缩写) 相当于 routes: routes }) export default router
编写侧边栏样式
编写Main.vue文件
<template> <div> //页面布局 <el-container> <el-aside width="200px"> <common-aside /> </el-aside> <el-container> <el-header>Header</el-header> <el-main> <!-- 路由出口 --> <!-- 路由匹配到的组件将渲染在这里 --> <router-view></router-view> </el-main> </el-container> </el-container> </div> </template> <script> import CommonAside from '../components/CommonAside.vue'// 引入侧边栏组件(main.vue的样式) export default { data() { return {} }, //引入组件 components: { CommonAside, }, } </script>
四、路由跳转
在菜单标签中添加click事件:
在script部分中的methods添加clickMenu方法
在views文件夹中新建相关菜单文件,如第二节所示。回到router|index.js文件,添加引入、映射
可以对首页进行重定向,当点击首页时,浏览器地址为“/”,但是首页是“/home”,重定向操作如下:
五、相关报错
eslint报错
在vue.config.js中编写如下代码关闭eslint校验:
const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ transpileDependencies: true, lintOnSave: false, //关闭eslint校验 })
总结
到此这篇关于vue-router实现简单vue多页切换、嵌套路由、路由跳转的步骤和报错的文章就介绍到这了,更多相关vue-router多页切换、嵌套路由、路由跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- vue项目启动后,js-base64依赖报错Cannot read properties of null(reading ‘replace’)问题
- Vue3中使用i18n,this.$t报错问题及解决
- 解决vue报错'超出最大堆栈大小'问题
- VUE引入DataV报错解决实战记录
- 解决vue ui报错Couldn‘t parse bundle asset“C:\Users\Administrator\vue_project1\dist\js\about.js“. Analyzer
- 解决vue报错:Do not mutate vuex store state outside mutation handlers问题