AntDesign vue学习笔记(三)嵌套路由使用
本项目目前结构如下
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学习笔记(三)嵌套路由使用的更多相关文章
- AntDesign vue学习笔记(七)Form 读写与图片上传
AntDesign Form使用布局相比传统Jquery有点繁琐 (一)先读写一个简单的input为例 <a-form :form="form" layout="v ...
- vue学习笔记(三)class和style绑定
前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...
- Vue学习笔记三:v-bind,v-on的使用
目录 v-bind:绑定属性值,内容相当于js,缩写: v-on:绑定方法,缩写@ 总结 v-bind:绑定属性值,内容相当于js,缩写: 我添加了一个input标签,如下 <input typ ...
- AntDesign vue学习笔记(一)初始化项目
最近学习AntDesign组件使用,官方Pro例子集成度太高,不容易学习,将从最基础组件一个一个搭建. 1.创建Vue Cli项目 2.引入ant design组件 $ cnpm i --save a ...
- nodejs学习笔记<三>关于路由(url)
在网站开发中,路由的设置非常关键.nodejs对路由处理封装了一个比较全面的模块. 来认识下url模块 1)在命令行(cmd)可以直接 node —> url 可直接查看url模块的所有方法. ...
- AntDesign vue学习笔记(九)自定义文件上传
第七节时提到,上传文件时实际可能需要传输一个token. 1.查看vue antdesign文档https://vue.ant.design/components/upload-cn/ 2.使用cus ...
- AntDesign vue学习笔记(四)使用组件切换
同样实现上一篇功能, 改为使用组件切换,实现方法如下 1.修改MainFrm中的<router-view/>如下代码 2.注册局部组件 export default { name: 'Ma ...
- VUE 学习笔记 三 模板语法
1.插值 a.文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值 <span>Message: {{ msg }}</span> v-once ...
- vue学习笔记(三):vue-cli脚手架搭建
一:安装vue-cli脚手架: 1:为了确保你的node版本在4.*以上,输入 node -v 查看本机node版本,低于4请更新. 2:输入: npm install -g vue-cli ...
随机推荐
- rabbitmq 延迟队列
1.rabbitmq 延时的原理,有2个队列,一个是发送消息,设置消息过期时间或者队列过期时间(死信队列),如果达到过期时间后 将改消息发送到指定的队列中进行处理. 链接:https://share. ...
- JS基石之-----常用方法封装的js库
解析 URL Params 为对象 let url = 'http://www.domain.com/?user=anonymous&id=123&id=456&city=%E ...
- Django框架(四)-- 路由控制:有名/无名分组、反向解析、路由分发、名称空间、伪静态、APPEND_SLASH、不同版本的Django区别、Django虚拟环境搭建
路由控制 一.简单路由配置 url(r'^booklist$', views.booklist) 第一个参数是正则表达式,第二个参数是视图函数 每个正则表达式前面的'r' 是可选的但是建议加上.它告诉 ...
- Nginx 高级配置-实现多域名HTTPS
Nginx 高级配置-实现多域名HTTPS 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx支持基于单个IP实现多域名的功能 Nginx支持基于单个IP实现多域名的功能 ...
- 三、python对字符串和集合的内存垃圾回收机制
变量声明: name1 = "andy" name2 = name1 这个时候我把name1的值给改成了“tom”,问现在name2的值是什么?为什么? 答:andy,因为你把 ...
- 在istio中让prometheus跑起来
使用microk8s安装,默认的prometheus已就位. 可直接弄. 一,映射本地端口(注意,命令行最后的两个端口,前一个为要映射的本地端口,后一个为POD的服务端口,如果本地相同端口被占用,则要 ...
- HDU3507:Print Article(斜率优化dp)
传送门 题意: 现有\(n\)个数,每个数的值为\(a_i\),现在可以把数划分为多段,每一段的代价为\((\sum_{k=i}^{j}c_i)^2+M\). 问怎么划分,代价最小. 思路: 考虑dp ...
- jq node.js bootstrap
1.node.js 网址:https://nodejs.org/en/ 用来通过下载node.js 来引用里面的npm 来实现对外部项目的下载 1.安装nodejs 自带了npm npm instal ...
- JDOJ 2157 Increasing
洛谷 P3902 递增 洛谷传送门 JDOJ 2157: Increasing JDOJ传送门 Description 数列A1,A2,--,AN,修改最少的数字,使得数列严格单调递增. Input ...
- python基础之九:文件操作
1.绝对路径与相对路径 path1 = "D:\orders.txt" # 绝对路径:包含根地址的路径 path2 = "homework.py" # 相对路径 ...