本项目目前结构如下

1、Login页面=》MainFrm页面=》MainFrm左部菜单,右边是显示区域可以切换子页面。

2、当点击左部菜单时,右边的子页面随着进行切换。

实现关键代码如下
1、修改router下的index.js

export default new Router({
routes: [
{
path: '/',
name: '登录',
component: Login
}
{
path: '/MainFrm',
name: '首页',
component: MainFrm,
children: [
{
path: '/StudentClass',
name: '班级',
component: StudentClass
},
{
path: '/Student',
name: '学生',
component: Student
}
]
}
]
})

2、在MainFrm中修改代码如下,a-layout为antdesign布局写法,a-menu为antdesign菜单。

<template>
<a-layout id="components-layout-demo-top-side-2">
<a-layout-header class="header" style="background: rgb(9, 154, 135);">
<div class="logo" style="background:url(/static/img/tigongshang.png)" />
<div style="float:right">
<a-avatar style="backgroundColor:#ffffff; color:#888888;" icon="user" />
<a-dropdown>
<a class="ant-dropdown-link" href="#" style="color:#ffffff;text-decoration: blink;">
管理员名称
<a-icon type="down"/>
</a>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;">修改密码</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;">退出登录</a>
</a-menu-item>
</a-menu>
</a-dropdown>
</div>
</a-layout-header>
<a-layout>
<a-layout-sider width="200" :style="{ overflow: 'auto', height: '100vh', position: 'fixed', left: 0, background: '#fff' }">
<a-menu mode="inline" :defaultSelectedKeys="['1']" :defaultOpenKeys="['sub2','sub3']" :style="{ height: '100%', borderRight: 0 }">
<a-menu-item key="1">
<a-icon type="home"/>
<span class="nav-text">班级</span>
<a-menu-item key="2" @click="menu('StudentClass')">班级</a-menu-item>
</a-menu-item>
<a-sub-menu key="sub2">
<span slot="title">
<a-icon type="database"/>学生
</span>
<a-menu-item key="2" @click="menu('Student')">学生</a-menu-item>
</a-sub-menu>
</a-menu>
</a-layout-sider>
<a-layout :style="{ marginLeft:'200px', padding:'24px 24px 0px' }">
<a-layout-content :style="{ background: '#fff', padding: '24px', margin: 0, minHeight: '280px', overflow: 'initial'}">
<router-view></router-view>
</a-layout-content>
</a-layout>
</a-layout>
</a-layout>
</template>

3、修改export default如下

export default {
name: 'MainFrm',
data () {
return {
collapsed: false,
page: Student
}
},
methods: {
menu (s) {
console.log(s)
this.$router.push(s)
}
}
}

这样点击左部菜单时,就可以自动在MainFrm中切换班级和学生了。

AntDesign vue学习笔记(三)嵌套路由使用的更多相关文章

  1. AntDesign vue学习笔记(七)Form 读写与图片上传

    AntDesign Form使用布局相比传统Jquery有点繁琐 (一)先读写一个简单的input为例 <a-form :form="form" layout="v ...

  2. vue学习笔记(三)class和style绑定

    前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...

  3. Vue学习笔记三:v-bind,v-on的使用

    目录 v-bind:绑定属性值,内容相当于js,缩写: v-on:绑定方法,缩写@ 总结 v-bind:绑定属性值,内容相当于js,缩写: 我添加了一个input标签,如下 <input typ ...

  4. AntDesign vue学习笔记(一)初始化项目

    最近学习AntDesign组件使用,官方Pro例子集成度太高,不容易学习,将从最基础组件一个一个搭建. 1.创建Vue Cli项目 2.引入ant design组件 $ cnpm i --save a ...

  5. nodejs学习笔记<三>关于路由(url)

    在网站开发中,路由的设置非常关键.nodejs对路由处理封装了一个比较全面的模块. 来认识下url模块 1)在命令行(cmd)可以直接 node —> url 可直接查看url模块的所有方法. ...

  6. AntDesign vue学习笔记(九)自定义文件上传

    第七节时提到,上传文件时实际可能需要传输一个token. 1.查看vue antdesign文档https://vue.ant.design/components/upload-cn/ 2.使用cus ...

  7. AntDesign vue学习笔记(四)使用组件切换

    同样实现上一篇功能, 改为使用组件切换,实现方法如下 1.修改MainFrm中的<router-view/>如下代码 2.注册局部组件 export default { name: 'Ma ...

  8. VUE 学习笔记 三 模板语法

    1.插值 a.文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值 <span>Message: {{ msg }}</span> v-once ...

  9. vue学习笔记(三):vue-cli脚手架搭建

    一:安装vue-cli脚手架: 1:为了确保你的node版本在4.*以上,输入 node -v 查看本机node版本,低于4请更新. 2:输入:  npm install -g vue-cli     ...

随机推荐

  1. Jupyter Notebook 打开方法

    直接在文件资源管理器的地址栏中输入Jupyter notebook ,即可打开当前目录下的Jupyter.比之前右键打开power shell更方便

  2. .net Redis分布式锁,Dictionary,ConcurrentDictionary 介绍

    1.背景 在计算机世界里,对于锁大家并不陌生,在现代所有的语言中几乎都提供了语言级别锁的实现,为什么我们的程序有时候会这么依赖锁呢?这个问题还是要从计算机的发展说起,随着计算机硬件的不断升级,多核cp ...

  3. html书写行内元素时-tab和换行会在行内元素间引入间距

    目录 html文本中的控制字符会被解析为文本节点 书写行内元素时,换行符LF与水平制表符HT会引入莫名的元素间间隔 其他控制字符是否会引入间距的验证 html文本中的控制字符会被解析为文本节点 举例: ...

  4. TP5.0整合webuploader实现多图片上传功能

    在https://github.com/fex-team/webuploader 下载webuploader并解压,解压后放到public里面.其中我把解压缩后的文件夹改名为webuploader,放 ...

  5. Java多线程编程核心技术-第2章-对象及变量的并发访问-读书笔记

    第 2 章 对象及变量的并发访问 本章主要内容 synchronized 对象监视器为 Object 时的使用. synchronized 对象监视器为 Class 时的使用. 非线程安全是如何出现的 ...

  6. 浅谈JSON与与JS相关的JSON函数

    本文内容主要引用在微信公众号上看到的一片文章,因为自己对Json了解不是很深入,所以就整理出这篇博文与大家分享! 一. JSON是一种格式,基于文本,优于轻量,用于交换数据 1.一种数据格式 数据的传 ...

  7. manjaro 安装 tim 后无法输入中文

    cd /opt/deepinwine/tools sudo chmod 777 run.sh vim run.sh 在一开始的注释下输入 export GTK_IM_MODULE="fcit ...

  8. LeetCode 691. Stickers to Spell Word

    原题链接在这里:https://leetcode.com/problems/stickers-to-spell-word/ 题目: We are given N different types of ...

  9. 原题链接在这里:980. Unique Paths III

    原题链接在这里:https://leetcode.com/problems/unique-paths-iii/ 题目: On a 2-dimensional grid, there are 4 typ ...

  10. C# 不包含 AsEnumerable 的定义

    引用 System.Data.DataSetExtensions 引用右键 ->添加引用 ->搜索 DataSetExtensions ->添加 注意版本