Vue3.0商店后台管理系统项目实战-路由

简介: Vue3.0商店后台管理系统项目实战-路由
1:router-link和router-view的区别

在App.vue里面

router-link相当于是a标签 ,to="路由path"

<router-link to="/">Home</router-link> |
    <router-link to="/about">About</router-link>

router-view:展示路由对应的组件内容

在views底下新建一个组件LayOut

<template>
    <div>
        <p>导航</p>
    </div>
</template>
<script>
export default {
    name:"layout",
    setup() {
    },
}
</script>

并且打开router/index.js配置路由

在浏览器里面查看

router-view:展示路由对应的组件内容

2:嵌套路由/子路由

createWebHasHistory:哈希路由 访问路径 有#
createWebHistory:history模式路由   访问路径 无#

在views底下新建一个角色列表页和用户列表页

roleList.vue

<template>
    <div>
        <h1>角色列表</h1>
    </div>
</template>
<script>
export default {
    name:"role",
    setup() {
    },
}
</script>

userList.vue

<template>
    <div>
        <h1>用户列表</h1>
    </div>
</template>
<script>
export default {
    name:"user",
    setup() {
    },
}
</script>

在router/index.js里面,添加路由

//嵌套路由/子路由
    children:[
      {
        path:"/index",
        name:"role",
        component:()=>import('../views/pages/roleList.vue'),
      },{
        path:"/user",
        name:"user",
        component:()=>import('../views/pages/userList.vue'),
      }
    ]

index.js

import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
const routes = [
  {
    path: '/',
    name: 'layOut',
    redirect: "/index",//重定向 进来就自动默认到index路径
    component: () => import('../views/LayOut/LayOut.vue'),
    //嵌套路由/子路由
    children: [
      {
        path: "/role",
        name: "role",
        component: () => import('../views/pages/roleList.vue'),
      }, {
        path: "/user",
        name: "user",
        component: () => import('../views/pages/userList.vue'),
      }
    ]
  },
  {
    path: '/home',
    name: 'home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'about',
    component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
  }
]
const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})
export default router

侧边栏导航

vue3搭配Element Plus框架使用

Element Plus基于 Vue 3,面向设计师和开发者的组件库

文档:https://element-plus.gitee.io/zh-CN/

安装

# NPM
$ npm install element-plus --save

图片.png

安装完成之后开始引入

打开main.js的文件

这里接口文档上是有说明的 ,直接根据文档上的教程来写

main.js

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router'
import store from './store'
createApp(App).use(store).use(router).use(ElementPlus).mount('#app')

开始使用组件里面的布局

后台管理的布局

直接复制代码即可

<div class="common-layout">
    <el-container>
      <el-header>Header</el-header>
      <el-container>
        <el-aside width="200px">Aside</el-aside>
        <el-main>Main</el-main>
      </el-container>
    </el-container>
  </div>

LayOut.vue

<template>
  <div>
    <div class="common-layout">
      <el-container>
        <el-header>Header</el-header>
        <el-container>
          <el-aside width="200px">
            <router-link to="/index">角色列表</router-link>
            <router-link to="/user">用户列表</router-link></el-aside
          >
          <el-main><router-view></router-view></el-main>
        </el-container>
      </el-container>
    </div>
  </div>
</template>
<script>
export default {
  name: "layout",
  setup() {},
};
</script>
相关文章
|
7天前
|
JavaScript 网络架构
vue3 Elementplus 动态路由菜单不跳转问题
vue3 Elementplus 动态路由菜单不跳转问题
25 1
|
3天前
|
JavaScript
学习和分享关于 Vue.js 的路由(vue-router)
学习和分享关于 Vue.js 的路由(vue-router)
13 2
|
3天前
|
JavaScript
vue 自动注册路由
vue 自动注册路由
13 1
|
6天前
|
JavaScript 前端开发 程序员
探索Vue.js宝库:解锁基础知识与实用技能之门(1. 数据绑定与响应式 2. 条件与循环 3. 组件化开发;1. 路由管理与导航 2. 状态管理与Vuex 3. Vue.js的生命周期)
探索Vue.js宝库:解锁基础知识与实用技能之门(1. 数据绑定与响应式 2. 条件与循环 3. 组件化开发;1. 路由管理与导航 2. 状态管理与Vuex 3. Vue.js的生命周期)
13 1
|
7天前
|
JavaScript 前端开发 网络架构
Vue如何实现页面跳转路由,实现单页面跳转
Vue如何实现页面跳转路由,实现单页面跳转
|
7天前
|
JavaScript
Vue搭配ELEMENT组件,路由不能正确跳转bug
Vue搭配ELEMENT组件,路由不能正确跳转bug
Vue搭配ELEMENT组件,路由不能正确跳转bug
|
10天前
|
JavaScript 前端开发 网络架构
4.vue路由
4.vue路由
13 1
|
2天前
|
JavaScript
vue【解决方案】页面/路由跳转后,滚动条消失,页面无法滚动
vue【解决方案】页面/路由跳转后,滚动条消失,页面无法滚动
4 0
|
2天前
|
JavaScript 前端开发 API
Vue Router【详解】含路由配置、路由定义、路由跳转、路由传参、自动注册路由、路由守卫、页面滚动、监听路由、$route、$router、路由过渡动画等
Vue Router【详解】含路由配置、路由定义、路由跳转、路由传参、自动注册路由、路由守卫、页面滚动、监听路由、$route、$router、路由过渡动画等
7 0

相关实验场景

更多