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>
相关文章
|
19天前
|
JavaScript
【vue】如何跳转路由到指定页面位置
【vue】如何跳转路由到指定页面位置
22 0
|
19天前
|
JavaScript
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
54 0
|
19天前
|
资源调度 JavaScript 前端开发
Vue的路由管理:VueRouter的配置和使用
【4月更文挑战第24天】VueRouter是Vue.js的官方路由管理器,用于在单页面应用中管理URL路径与组件的映射。通过安装并引入VueRouter,设置路由规则和创建router实例,可以实现不同路径下显示不同组件。主要组件包括:`&lt;router-link&gt;`用于创建导航链接,`&lt;router-view&gt;`负责渲染当前路由对应的组件。此外,VueRouter还支持编程式导航和各种高级特性,如嵌套路由、路由参数和守卫,以应对复杂路由场景。
|
19天前
|
JavaScript 数据可视化 算法
vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)
vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)
44 6
|
3天前
|
JavaScript 程序员 网络架构
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
|
3天前
|
资源调度 JavaScript UED
vue路由的基础知识总结,vueRouter插件的安装与使用
vue路由的基础知识总结,vueRouter插件的安装与使用
|
10天前
|
缓存 JavaScript
一文彻底学会Vue路由
Vue Router简介,包括基本使用、嵌套路由、参数传递和路由守卫。首先,通过`npm i vue-router@3`安装,然后在`main.js`引入并应用。配置路由时,创建VueRouter实例,定义如`/home`、`/about`等路径及其对应组件。使用`&lt;router-link&gt;`进行切换,`&lt;router-view&gt;`展示组件。嵌套路由通过`children`配置多级路径,参数传递可使用`query`或`params`。路由守卫分为全局、独享和组件内三种,用于控制访问权限。
21 1
一文彻底学会Vue路由
|
18天前
|
资源调度 JavaScript 前端开发
阿珊详解Vue路由的两种模式:hash模式与history模式
阿珊详解Vue路由的两种模式:hash模式与history模式
|
19天前
|
JavaScript
vue中watch监听路由传来的参数变化问题
vue中watch监听路由传来的参数变化问题
12 0
|
19天前
|
缓存 JavaScript
在 Vue 组件中使用计算属性和侦听器来响应路由变化
【5月更文挑战第8天】Vue Router 中,计算属性和侦听器常用于根据路由变化更新组件状态。计算属性缓存依赖,当路由参数改变时自动更新,如示例中的 `userId`。侦听器则监听 `$route` 变化,执行相应操作,例如在 `currentUserId` 示例中响应 `userId` 更新。计算属性适合简单变化,而异步操作或复杂场景可选用侦听器。Vue 3 中,`watchEffect` 减少了部分侦听场景的复杂性。总之,它们用于组件内部响应路由变化,而非直接处理路由逻辑。
20 4

相关实验场景

更多