(已解决)Vue routes的 children使用(小白来看,包会!)

前言

分析链接:Vue+element ui实现好看的个人中心_vue个人信息页面代码-CSDN博客

使用了很多vue深层知识,简化并且做到自己的项目上面

对小白很有帮助,因为我就是小白,才搞明白。


最核心的就是routes的 children使用,所以先做一个例子再套用进去。

目录

前言

参考

1.项目结构

2.routes代码

3.IndextwoView代码

4.Page1View代码

5.pageSon代码

6.Page2View代码

routes解析:

1.简单常用段

2.重定向设置:

3.children的使用

3.1.导入

3.2.children的设置

页面逻辑解析

页面逻辑展示



参考

注:因为我是在自己项目做的测试,所以其他页面大家不需要也没关系,按逻辑去就行。

1.项目结构

2.routes代码

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
import IndextwoView from "@/views/IndextwoView.vue"

const routes = [
  {
    path: '/IndextwoView',
    name: 'IndextwoView',
    component: IndextwoView,
    children: [{
      path: '/Page1View',
      name: 'Page1View',
      component: function () {
        return import( /* webpackChunkName: "about" */ '@/views/Page1View.vue')
      },
      children: [{
        path: '/pageSon',
        name: 'pageSon',
        component: function () {
          return import( /* webpackChunkName: "about" */ '@/views/PageSon.vue')
        }
      }],
    },
    {
      path: '/Page2View',
      name: 'Page2View',
      component: function () {
        return import( /* webpackChunkName: "about" */ '@/views/Page2View.vue')
      }
    }]
  },
  {
    //测试页面
    path: '/test',
    name: 'test',
    component: () => import('../views/tlias/v-forTest.vue'),
  },
  {
    //登录页面
    path: '/login',
    name: 'login',
    component: () => import('../views/tlias/LoginView.vue'),
    
  },
  {
    // 主页页面
    path: '/index',
    name: 'index',
    component: () => import('../views/tlias/IndexView.vue'),
    meta: { token: null } 
  },
  {
    // 后端页面
    path: '/stu',
    name: 'stu',
    component: () => import('../views/tlias/StuView.vue')
  },
  {
    // 后端页面
    path: '/emp',
    name: 'emp',
    component: () => import('../views/tlias/EmpView.vue')
  },
  {
    // 后端页面
    path: '/dept',
    name: 'dept',
    component: () => import('../views/tlias/DeptView.vue')
  },
  {
    path: '/',
    redirect: '/login'
  }
]
const router = new VueRouter({
  routes
})

export default router

3.IndextwoView代码

<template>
  <div class="home">
    <el-menu
      default-active="2"
      class="el-menu-vertical-demo"
    >
      <el-submenu index="1">
        <template slot="title">
          <i class="el-icon-location"></i>
          <span slot="title"><router-link to="/Page1View">导航一</router-link></span>
        </template>
      </el-submenu>
      <el-menu-item index="4">
        <i class="el-icon-setting"></i>
        <span slot="title"><router-link to="/Page2View">导航二</router-link></span>
      </el-menu-item>
    </el-menu>
    <router-view></router-view>
  </div>
</template>

4.Page1View代码

<template>
  <div class="pageone">page1
    <router-link to="/pageSon">显示</router-link>
    <router-view></router-view>
  </div>
</template>

5.pageSon代码

<template>
  <div class="page1-son">page1-son</div>
</template>

6.Page2View代码

<template>
  <div class="page2">page2</div>
</template>

routes解析:

1.简单常用段

下面的代码为基础路由就带有的功能带了几个页面逻辑很简单易懂,所以不解释。

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

const routes = [
  
    
  {
    //测试页面
    path: '/test',
    name: 'test',
    component: () => import('../views/tlias/v-forTest.vue'),
  },
  {
    //登录页面
    path: '/login',
    name: 'login',
    component: () => import('../views/tlias/LoginView.vue'),
    
  },
  {
    // 主页页面
    path: '/index',
    name: 'index',
    component: () => import('../views/tlias/IndexView.vue'),
    meta: { token: null } 
  },
  {
    // 后端页面
    path: '/stu',
    name: 'stu',
    component: () => import('../views/tlias/StuView.vue')
  },
  {
    // 后端页面
    path: '/emp',
    name: 'emp',
    component: () => import('../views/tlias/EmpView.vue')
  },
  {
    // 后端页面
    path: '/dept',
    name: 'dept',
    component: () => import('../views/tlias/DeptView.vue')
  },
 
]
const router = new VueRouter({
  routes
})

export default router

2.重定向设置:

由于路由中默认的为访问/路径,所以我们需要使用关键字redirect设置重定向,使他访问/路径时,访问到/login路径

{
    path: '/',
    redirect: '/login'
  }

3.children的使用

3.1.导入


在使用时需要导入主界面

import IndextwoView from "@/views/IndextwoView.vue"

3.2.children的设置

最上层的为导入的主页面的路径以及设置

后面就可以设置内部的子路由:

注:子路由中的: component: function () {
        return import( /* webpackChunkName: "about" */ '@/views/Page1View.vue')
      },为过时写法,可以转换成 component: () => import('../views/tlias/LoginView.vue'),
也是可以使用的,没有区别

 {
    path: '/IndextwoView',
    name: 'IndextwoView',
    component: IndextwoView,
    children: [{
      path: '/Page1View',
      name: 'Page1View',
      component: function () {
        return import( /* webpackChunkName: "about" */ '@/views/Page1View.vue')
      },
      children: [{
        path: '/pageSon',
        name: 'pageSon',
        component: function () {
          return import( /* webpackChunkName: "about" */ '@/views/PageSon.vue')
        }
      }],
    },
    {
      path: '/Page2View',
      name: 'Page2View',
      component: function () {
        return import( /* webpackChunkName: "about" */ '@/views/Page2View.vue')
      }
    }]
  },

页面逻辑解析

在主页面中使用

<router-link to="/Page2View">

进行路由跳转

然后使用

 <router-view></router-view>

进行页面渲染

以便于children的生效


页面逻辑展示

1.首先是我自己的页面登录(因为重定向为login)

2.进入后点击个人中心(接下来到例子内容

3.点击导航一(成功显示内容)

4.点击显示(成功显示page1-son)

5.点击导航二(成功清除原来组件,并显示page2)


套用原个人中心代码

更新中...

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手把手教你从变量和赋值语句起学python

当你的程序执行计算时&#xff0c;需要把值存储下来以便后面使用。在Python程序中使用变量来存储值。本文你会学到如何定义和使用变量。 为了演示变量的用法&#xff0c;我们会编写一个解决下面问题的程序&#xff1a;在售的软饮料一般分为罐装和瓶装。在商店里&#xff0c;一…

159基于matlab的基于密度的噪声应用空间聚类(DBSCAN)算法对点进行聚类

基于matlab的基于密度的噪声应用空间聚类(DBSCAN)算法对点进行聚类&#xff0c;聚类结果效果好&#xff0c;DBSCAN不要求我们指定集群的数量&#xff0c;避免了异常值&#xff0c;并且在任意形状和大小的集群中工作得非常好。它没有质心&#xff0c;聚类簇是通过将相邻的点连接…

Oracle的学习心得和知识总结(三十二)|Oracle数据库数据库回放功能之论文四翻译及学习

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《Oracle Database SQL Language Reference》 2、参考书籍&#xff1a;《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

###C语言程序设计-----C语言学习(11)#数据的存储和基本数据类型

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 一. 数据的存储 1.整型数据的存储 计算机处理的所有信息都以二进制形式表示…

Linux防火墙开放

记录一次问题 写的网络服务无法通信 代码没问题&#xff0c;IP绑定、端口绑定没问题&#xff0c;就是无法进行通信&#xff0c;这里要分2步走。 服务器控制台开放 进入防火墙 添加规则&#xff0c;这里以开放udp的8899端口为例 这里在服务器后台就已经开放了&#xff0c;但此时…

人工智能能产生情绪吗?

此图片来源于网络 一、人情绪的本质是什么&#xff1f; 人的情绪本质是一个复杂的现象&#xff0c;涉及到生理、心理和社会的多个层面。以下是关于情绪本质的几种观点&#xff1a; 情绪的本质是生命能量的表达。情绪被认为是生命能量的一种体现&#xff0c;通过情绪的体验和…

Deepin基本环境查看(九)【被封印的创世神】

文章目录 - 相关文章目录1、概述2、Deepin中的创世神和管理员1&#xff09;创世神root2&#xff09;root被封印原因3&#xff09;其他的神灵【管理员】 3、神殿管理【su与sudo】1&#xff09;su&#xff08;Switch User&#xff09;2&#xff09;sudo&#xff08;Superuser Do&…

CTFshow-WEB入门-信息搜集

web1&#xff08;查看注释1&#xff09; wp 右键查看源代码即可找到flag web2&#xff08;查看注释2&#xff09; wp 【CtrlU】快捷键查看源代码即可找到flag web3&#xff08;抓包与重发包&#xff09; wp 抓包后重新发包&#xff0c;在响应包中找到flag web4&#xff08;robo…

re:从0开始的CSS学习之路 9. 盒子水平布局

0. 写在前面 过年也不能停止学习&#xff0c;一停下就难以为继&#xff0c;实属不应 1. 盒子的水平宽度 当一个盒子出现在另一个盒子的内容区时&#xff0c;该盒子的水平宽度“必须”等于父元素内容区的宽度 盒子水平宽度&#xff1a; margin-left border-left padding-lef…

算法学习——LeetCode力扣双指针篇

算法学习——LeetCode力扣双指针篇1 27. 移除元素 27. 移除元素 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#…

UnityShader——01Shader和渲染管线

Shader和渲染管线 什么是Shader Shader中文翻译为着色器&#xff0c;是一种较为短小的程序片段&#xff0c;用于告诉图形硬件如何计算和输出图像&#xff0c;过去由汇编语言编写&#xff0c;现在也可以使用高级语言进行编写。 即&#xff0c;Shader是一种可编程图形管线的算法…

【开源】JAVA+Vue.js实现森林火灾预警系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 系统基础模块2.3 烟雾传感器模块2.4 温度传感器模块2.5 历史记录模块2.6 园区数据模块 三、系统设计3.1 用例设计3.1.1 森林园区基础系统用例设计3.1.2 森林预警数据用例设计 3.2 数据库设计3.2.1 烟雾…

ARP欺骗攻击利用之抓取https协议的用户名与密码

1.首先安装sslstrip 命令执行&#xff1a;apt-get install sslstrip 2.启动arp欺骗 arpspoof -i ech0 -t 192.168.159.148 192.168.159.2 arpspoof -i ech0(网卡) -t 目标机ip 本地局域网关 3.命令行输入: vim /etc/ettercap/etter.conf进入配置文件 找到下红框的内容&a…

【第二十三课】最小生成树:prime 和 kruskal 算法(acwing858,859 / c++代码 )

目录 前言 Prime算法--加点法 acwing-858 代码如下 一些解释 Kruskal算法--加边法 acwing-859 并查集与克鲁斯卡尔求最小生成树 代码如下 一些解释 前言 之前学最短路的时候&#xff0c;我们都是以有向图为基础的&#xff0c;当时我们提到如果是无向图&#xf…

拟合案例1:matlab积分函数拟合详细步骤及源码

本文介绍一下基于matlab实现积分函数拟合的过程。采用的工具是lsqcurvefit和nlinfit两个函数工具。关于包含积分运算的函数,这里可以分为两大类啊。我们用具体的案例来展示:一种是积分运算中不包含这个自变量,如下图的第一个公式,也就是说它这个积分运算只有R和Q这两个待定…

Node.js基于vue的音乐分享网站系统_6045i

随着用户听歌娱乐的需求和管理上的不断提升&#xff0c;在线音乐分享平台管理的潜力将无限扩大&#xff0c;在线音乐分享平台在业界被广泛关注&#xff0c;本网站及对此进行总体分析&#xff0c;将信息管理的发展提供参考。在线音乐分享平台对宿舍有着明显的带动效应&#xff0…

【C++】C++入门(二)

个人主页 &#xff1a; zxctscl 文章封面来自&#xff1a;艺术家–贤海林 如有转载请先通知 文章目录 1. 前言2. 缺省参数2.1 缺省参数概念2.2 缺省参数分类 3. 函数重载3.1 函数重载概念3.2 C支持函数重载的原理--名字修饰(name Mangling) 1. 前言 在前面一篇文章中简单介绍了…

(C++)集合数据文件存储工具

前言 一个简单的实现简便 "map集合" 数据存储本地。 适合不会SQL但又想实现数据存储本地的同学。 操作使用都非常简单。 文件只做了简单的加密处理&#xff0c;如果需要复杂加密的同学可以修改加密函数。 项目结构 1.创建头文件——CAB.h // // Created by xw o…

Python编程之旅:从入门到精通

在数字世界的无尽宇宙中&#xff0c;Python无疑是一颗璀璨的明星。其简洁易懂的语法、丰富的库和广泛的应用领域&#xff0c;使得Python成为了众多初学者的首选编程语言。那么&#xff0c;如何学习Python呢&#xff1f;本文将带你一步步踏上Python编程的旅程。 一、入门篇&…

本地运行多种大语言模型:一行代码即可完成 | 开源日报 No.167

ollama/ollama Stars: 33.5k License: MIT ollama 是一个轻量级、可扩展的本地语言模型构建和运行框架。 提供简单的 API 用于创建、运行和管理模型包含丰富的预构建模型库&#xff0c;方便在各种应用中使用支持从 GGUF、PyTorch 或 Safetensors 导入自定义模型可以通过命令行…