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>
相关文章
|
6天前
|
JavaScript
【vue】如何跳转路由到指定页面位置
【vue】如何跳转路由到指定页面位置
19 0
|
6天前
|
JavaScript
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
46 0
|
6天前
|
资源调度 JavaScript 前端开发
Vue的路由管理:VueRouter的配置和使用
【4月更文挑战第24天】VueRouter是Vue.js的官方路由管理器,用于在单页面应用中管理URL路径与组件的映射。通过安装并引入VueRouter,设置路由规则和创建router实例,可以实现不同路径下显示不同组件。主要组件包括:`&lt;router-link&gt;`用于创建导航链接,`&lt;router-view&gt;`负责渲染当前路由对应的组件。此外,VueRouter还支持编程式导航和各种高级特性,如嵌套路由、路由参数和守卫,以应对复杂路由场景。
|
6天前
|
JavaScript 数据可视化 算法
vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)
vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)
38 6
|
5天前
|
资源调度 JavaScript 前端开发
阿珊详解Vue路由的两种模式:hash模式与history模式
阿珊详解Vue路由的两种模式:hash模式与history模式
|
6天前
|
JavaScript
vue中watch监听路由传来的参数变化问题
vue中watch监听路由传来的参数变化问题
8 0
|
6天前
|
缓存 JavaScript
在 Vue 组件中使用计算属性和侦听器来响应路由变化
【5月更文挑战第8天】Vue Router 中,计算属性和侦听器常用于根据路由变化更新组件状态。计算属性缓存依赖,当路由参数改变时自动更新,如示例中的 `userId`。侦听器则监听 `$route` 变化,执行相应操作,例如在 `currentUserId` 示例中响应 `userId` 更新。计算属性适合简单变化,而异步操作或复杂场景可选用侦听器。Vue 3 中,`watchEffect` 减少了部分侦听场景的复杂性。总之,它们用于组件内部响应路由变化,而非直接处理路由逻辑。
20 4
|
6天前
|
资源调度 JavaScript 前端开发
【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
|
6天前
|
JavaScript Go
Vue路由跳转及路由传参
Vue路由跳转及路由传参
|
6天前
|
JavaScript 前端开发
vue3+ts+element home页面侧边栏+头部组件+路由组件组合页面教程
这是一个Vue.js组件代码示例,展示了带有侧边栏导航和面包屑导航的布局。模板中使用Element Plus组件库,包含可折叠的侧边栏,其中左侧有 Logo 和导航列表,右侧显示更具体的子菜单。`asideDisplay`控制侧边栏宽度。在`script`部分,使用Vue的响应式数据和生命周期钩子初始化路由相关数据,并从localStorage恢复状态。样式部分定义了组件的颜色、尺寸和布局。
29 1

相关实验场景

更多