vue-router(element侧导栏,子组件内容切换,不传参)使用的详细步骤

news2024/11/16 11:58:02

 大家好,我是csdn的博主:lqj_本人

这是我的个人博客主页:

lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼Develop

小淼Develop的个人空间-小淼Develop个人主页-哔哩哔哩视频

本篇文章主要讲述vue-router(前端路由)使用的详细步骤

目录

1.npm安装(vue2安装vue-router@3/vue3安装vue-router@4)

2.main.js注册vue-router

3.创建router配置文件

4.在父组件中(使用了element组件侧导栏)

写入变换路由时页面改变加载的内容位置,使用组件(RouterView)

写入"编程式路由跳转的方式"(this.$router.push)

若进入就想让其显示哪个路由对应的页面内容

父组件完整代码示例:

5.App.vue中写入父组件

Demo动态演示


1.npm安装(vue2安装vue-router@3/vue3安装vue-router@4)

 我这里以vue2创建的项目中实战为示例

npm i vue-router@3

2.main.js注册vue-router

import VueRouter from 'vue-router'
import router from './router/index';
Vue.use(VueRouter)
new Vue({
  el:'#app',
  render: h => h(App),
  router:router
}); 

3.创建router配置文件

创建文件:在src目录下创建"router"文件夹,里面创建"index.js"

index.js里面配置代码如下:

import VueRouter from 'vue-router'
//引用自定义的组件
import ShouYe from '@/components/ShouYe'
import User_Center from '@/components/User_Center'
import user_management from '@/components/user_management'
import info_management from '@/components/info_management'
//抛出自定义声明的路由器
export default new VueRouter({
//给引用的自定义的组件添加名字,路径等属性
    routes:[
        {
            name:'shouye1',
            path:'/ShouYe',
            component:ShouYe,
        },
        {
            name:'usercenter1',
            path:'/User_Center',
            component:User_Center
        },
        {
            name:'usermanagement1',
            path:'/user_management',
            component:user_management
        },
        {
            name:'infomanagement1',
            path:'/info_management',
            component:info_management
        }
    ]
})

4.在父组件中(使用了element组件侧导栏)

写入变换路由时页面改变加载的内容位置,使用组件(RouterView)

<RouterView style="margin-left: 100px;"></RouterView>

写入"编程式路由跳转的方式"(this.$router.push)

methods: {
// 跳转系统首页
    shouye() {
      this.$router.push({
        name: "shouye1",
      });
    },
}

若进入就想让其显示哪个路由对应的页面内容

mounted(){
    this.$router.push({
        name: "shouye1",
      });
  },

父组件完整代码示例:

<template>
  <div>
    <div class="top">
      <img style="margin-left: 70px;" src="../assets/Lielong.png" />
      <div style="color: aliceblue;margin-left: 100px;margin-top: 40px;font-size: larger;">{{ Breadcrumb }}</div>
      <el-button style="font-size: larger;margin-left: 1400px;" type="text" @click="open">退出系统</el-button>
    </div>
    <!-- 主体 -->
    <div class="one">
      <div>
        <el-row >
          <el-col :span="12" class="tac">
            <el-menu default-active="1" class="box" @select="handselect" background-color="#545c64" text-color="#fff"
              active-text-color="#ff0303">
              <el-menu-item style="margin-top: 30px;" index="1" @click="shouye">
                <i class="el-icon-setting"></i>
                <span slot="title">系统首页</span>
              </el-menu-item>
              <el-menu-item index="2" @click="user_center">
                <i class="el-icon-menu"></i>
                <span slot="title">个人中心</span>
              </el-menu-item>
              <el-menu-item index="3" @click="user_management">
                <i class="el-icon-document"></i>
                <span slot="title">客户管理</span>
              </el-menu-item>
              <el-menu-item index="4" @click="info_management">
                <i class="el-icon-setting"></i>
                <span slot="title">信息管理</span>
              </el-menu-item>
            </el-menu>
          </el-col>
        </el-row>
      </div>
      <RouterView style="margin-left: 100px;"></RouterView>
    </div>
    <!-- 路由组件 -->

  </div>
</template>

<script>
import { RouterView } from 'vue-router';


// import axios from 'axios'
export default {
  props: {
    msg: String
  },
  data() {
    return {
      tab: [
        "系统首页",
        "个人中心",
        "客户管理",
        "信息管理"
      ],
      Breadcrumb: "系统首页",
    };
  },
  mounted(){
    this.$router.push({
        name: "shouye1",
      });
  },
  methods: {
    handselect(res) {
      console.log(res);
      this.Breadcrumb = this.tab[res - 1];
    },
    // 退出系统
    open() {
      this.$confirm("此操作将退出登录, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(() => {
        this.$message({
          type: "success",
          message: "退出成功!"
        });
      }).catch(() => {
        this.$message({
          type: "info",
          message: "已取消退出"
        });
      });
    },
    // 跳转系统首页
    shouye() {
      this.$router.push({
        name: "shouye1",
      });
    },
    // 跳转个人中心
    user_center() {
      this.$router.push({
        name: "usercenter1",
      });
    },
    // 跳转客户管理
    user_management() {
      this.$router.push({
        name: "usermanagement1",
      });
    },
    // 跳转信息管理
    info_management() {
      this.$router.push({
        name: "infomanagement1",
      });
    }
  },
  components: { RouterView }
}
</script>


<style scoped>
.one{
  display: flex;
  flex-direction: row;
}
.tac {
  width: 200px;
}

.box {
  height: 819px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
}

.top {
  display: flex;
  height: 100px;
  background: #545c64;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
</style>

5.App.vue中写入父组件

<template>
  <div id="app">  
    <Demo_D1 />
  </div>
</template>

<script>
import Demo_D1 from './common/Demo_D1.vue'

export default {
  components: {
    Demo_D1
  },
  
}
</script>

<style>
*{
  padding: 0;
  margin: 0;
}
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
</style>

Demo动态演示

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/605282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何申请免费ChatGPT 2500刀初创金

近日OpenAI 推出了OpenAI for Startups项目&#xff0c;那么什么是Startups项目呢&#xff1a; 它是由全球知名的人工智能研究公司 OpenAI 推出的一个开放式的创业计划&#xff0c;旨在为初创公司提供一种新的激励机制和技术推广方式。 也就是说我们可以用自己账号申请&#x…

【软件工程题库】第四章 概要设计

&#x1f57a;作者&#xff1a; 迷茫的启明星 学习路线C语言从0到1C初阶数据结构从0到1 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

淬体归元,运营商资源域元数据管理

资源元数据是通信行业资源管理业务开展的基础性支撑要素&#xff0c;它定义了资源业务领域相关概念、关系和规则&#xff0c;即各种设施、缆线、设备、链路等网络资源的规格、属性、字典及相关存储模型等信息。高质量的元数据是提升业务效率、加强管理与分析能力的必要条件&…

多线程安全的案例展示与解决方案

一、概念 1. 什么是线程安全 当多个线程访问一个对象时&#xff0c;如果不用考虑这些线程在运行时环境下的调度和交替执行&#xff0c;也不需要进行额外的同步&#xff0c;或者在调用方进行任何其他的协调操作&#xff0c;调用这个对象的行为都可以获得正确的结果&#xff0c…

为什么HTTPS是安全的?

在谈论 HTTPS 协议之前&#xff0c;先来回顾一下 HTTP 协议的概念。 1. HTTP 协议 1.1 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议&#xff0c;它位于 OSI 网络模型中的应用层。 HTTP 协议是通过客户端和服务器的请求应答来进行通讯&#xff0c;目前协议由之前的 RFC…

Java程序设计入门教程--成员变量

成员的分类 实例成员 实例成员是属于对象的&#xff0c;即属于对象级别&#xff0c;包括实例成员属性&#xff08;也称为实例成员变量&#xff09;和实例成员方法&#xff0c;只有创建了对象之后才能访问实例成员属性和实例成员方法。 类成员 类成员属于类的&#xff0c;类成…

Stable Diffusion学习笔记

文章目录 参考资料△ 安装与环境配置○ 安装Python 人工智能真是厉害。。。 我也不能落后 虽然前面pytorch还没有学完&#xff0c;但是热点总是在变的嘛&#xff0c;现在大模型和生成式AI这么火&#xff0c;我也来蹭蹭热度。 就从学习怎么用AIGC工具生成 老婆 纸片人开始吧 …

app的动态导航栏及自定义图标的开发

效果展示 我的代码 <template><div class"nav-container"><!-- 动态底部导航栏 start--><div class"nav-content"><van-tabbar style"background-image: linear-gradient(135deg, #EE9AE5 10%, #5961F9 100%) !import…

防火墙之流量管理

防火墙流量管理 原理概述&#xff1a; 防火墙&#xff08;英语&#xff1a;Firewall&#xff09;技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备&#xff0c;帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障&#xff0c;以保护用户资料与信息安全性的一…

【Python 文本分析】零基础也能轻松掌握的学习路线与参考资料

Python 常用的文本分析工具有很多&#xff0c;如 Natural Language Toolkit (NLTK)、TextBlob、spaCy、Jieba等。本文将分别介绍这些工具及其对应的学习路线、参考资料和优秀实践。 Natural Language Toolkit (NLTK) Natural Language Toolkit (NLTK) 是 Python 中文本分析研…

记一次Java生成SQL脚本文件换行格式为window/unix的笔记

今天在做一个SQL脚本文件生成需求&#xff0c;其中&#xff0c;需要设置&#xff1a; 文件编码为&#xff1a;UTF-8文件换行格式为&#xff1a;UNIX UTF-8这个好说&#xff0c;因为java代码可以指定文件编码&#xff0c;如&#xff1a; 但是Unix换行格式就很神奇了&#xff0…

职场恶霸00后,看完这篇你就知道了

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&#x…

032:Mapbox GL实现卷帘功能,可开启、关闭

第032个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中实现地图卷帘功能,这里可以设置开启、关闭卷帘。根据参数的不同,可以配置相关的功能,请参考底部的API信息。本示例比较重要的一点是要知道如何引用mapbox-gl-compare插件。 直接复制下面的 vue+mapbox源…

SpringData 进阶篇-上

SpringData 一&#xff1a;背景介绍二&#xff1a;XML配置 与JavaConfig配置2.1 XML配置2.1.1 配置文件2.1.2 具体使用 2.2 JavaConfig配置2.2.1 配置类2.2.2 具体使用&#xff1a; 三&#xff1a;SpringDataJpa的CRUD3.1 接口代码3.2 具体使用3.3 其它方法3.4 分页方法 四&am…

【数据集处理】中国地面气候资料日值数据集(V3.0)

1 数据集介绍-中国地面气候资料日值数据集(V3.0) 中国地面气候资料日值数据集(V3.0)包含以下气象数据资料(包括降水、气温、风速等)。 2 数据处理 以湿度数据(RHU) 处理为例,数据文件如下: 2.1 步骤1:从文件中提取数据 首先提取所有需要的有效信息,查看【数据表格…

sql_server数据库入门学习(二)

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…

Java程序设计入门教程--创建对象

目录 声明对象 声明对象的格式 声明对象的作用 建立对象 创建一个对象 初始化对象 当我们创建了一个类&#xff0c;就等同于我们创建了一种新的数据类型&#xff0c;你可以像使用基本数据类型一样地使用类。 类定义好之后&#xff0c;我们将用该类定义一个实例&am…

【从零开始进行高精度手眼标定 eye in hand(小白向)2 Tsai轴角法与四元数法编程实现】

从零开始进行高精度手眼标定 eye in hand&#xff08;小白向&#xff09;2 Tsai轴角法与四元数法编程实现 前言Tsai标定方法原理推导轴角方法原理matlab编程实现 四元数方法原理matlab编程实现 前言 最近由于组内的相关工作需求&#xff0c;需要进行机器人的高精度标定。原始的…

Redis的常用数据结构之集合类型

集合元素的特点 集合中的元素无序&#xff0c;不可以重复无法通过某一个下标的方式获取元素单个集合最多可以存储2的32次方-1个元素redis支持对集合取交集&#xff08;共同兴趣点&#xff09;、并集&#xff08;两个开发团队擅长什么&#xff09;、差集 单个集合中的操作指令…

系统架构设计师教程(第2版)

系统架构设计师教程&#xff08;第2版&#xff09;作为全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试指定用书&#xff0c;系统地介绍了系统架构设计师的基本要求&#xff0c;应具备的基础知识和需要掌握的知识。 全书分上、下两篇&#xff0c;共计 20 章…