spring boot + vue + element-ui
spring boot + vue + element-ui
一、页面
1.布局
假设,我们要开发一个会员列表的页面。
首先,添加vue页面文件“src\pages\Member.vue”
参照文档http://element.eleme.io/#/zh-CN/component/table中的例子,实现一个静态的列表页面
代码如下:
- Member.vue
2.修改路由
src\router\index.js文件中,添加
1
2
3
4
5
6
7
8
9
10
11
|
routes.push({ path: '/member' , name: '会员管理' , component: Main, iconCls: 'fa fa-user-circle-o' , children: [{ path: '/member/data' , component: Member, name: '会员信息管理' }] }) |
完整代码如下:
- src\router\index.js
3.修改首页,使其出现“会员管理”的菜单

- <el-menu :default-active="$route.path" :collapse="collapsed">
- <template v-for="(item,index) in menus">
- <el-submenu :index="index+''" v-if="!item.leaf">
- <template slot="title"><i :class="item.iconCls"></i><span v-if="!collapsed">{{item.name}}</span></template>
- <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" @click="$router.push(child.path)">{{child.name}}</el-menu-item>
- </el-submenu>
- <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>
- </template>
- </el-menu>

完整代码如下:
点击左侧的“会员信息管理”的菜单,运行效果如下:
二、动态查询数据
1.mock.js
添加文件:src\mock\member.js

- import Mock from 'mockjs'
- let adapters = []
- adapters.push(
- (mockAdapter) => mockAdapter.onPost('/api/member/loadPage').reply(req => {
- let promise = new Promise((resolve, reject) => {
- let data = req.data ? JSON.parse(req.data) : {
- size: 20
- }
- let result = {
- rows: [],
- total: 10000
- }
- for (let i = 0; i < data.size; i++) {
- let item = Mock.mock({
- id: Mock.Random.guid(),
- name: Mock.Random.cname(),
- sex: Mock.Random.integer(1, 2),
- 'age|18-30': 1,
- date: Mock.Random.date(),
- address: Mock.mock('@county(true)'),
- })
- result.rows.push(item)
- }
- setTimeout(() => {
- resolve([200, result])
- }, 2000)
- })
- return promise
- })
- )
- export {
- adapters
- }

添加src\mock\index.js文件

- import axios from 'axios'
- import MockAdapter from 'axios-mock-adapter'
- let mockAdapter = new MockAdapter(axios)
- //会员api
- import {
- adapters as member
- } from '@/mock/member.js'
- member.forEach(item => item(mockAdapter))
- export default mockAdapter

2.修改main.js文件
在main.js中导入mock.js
- //开发模式开启mock.js
- if (process.env.NODE_ENV === 'development') {
- require('./mock')
- }
导入axios
- import axios from 'axios'
- Vue.prototype.$axios = axios
完整main.js代码:
3.修改Member.vue文件
修改查询分页的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
let getRows = function () { if ( this .pageLoading) return this .pageLoading = true let params = { page: this .page, size: this .size, query: this .filters.query } //调用post请求 this .$axios.post( '/api/member/loadPage' , params).then(res => { this .pageLoading = false if (!res.data || !res.data.rows) return //总数赋值 this .total = res.data.total this .page++; //页面元素赋值 this .rows = res.data.rows }). catch (e => this .pageLoading = false ) } |
完整的Member.vue代码如下:
完整的项目结构如下图所示:
运行效果如下:
其中,使用了axios来调用http post协议,url是'/api/member/loadPage',并post了body参数。
但我并没有写任何后端代码。奇怪的是,获取的数据从哪里来?答案是:mock.js,因为使用了mock.js+axios-mock-adapter来拦截并模拟http协议。
git代码地址:https://github.com/carter659/spring-boot-vue-element.git
spring boot + vue + element-ui的更多相关文章
- 分享一个自搭的框架,使用Spring boot+Vue+Element UI
废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...
- 自搭的一个系统框架,使用Spring boot+Vue+Element
基于:jdk1.8.spring boot2.1.3.vue-cli3.4.1 特性: ~ 数据库访问使用spring data jpa+alibaba druid ~ 前后端数据交互使用 ...
- 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚
新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚 ...
- spring boot + vue + element-ui全栈开发入门——开篇
最近经常看到很多java程序员朋友还在使用Spring 3.x,Spring MVC(struts),JSP.jQuery等这样传统技术.其实,我并不认为这些传统技术不好,而我想表达的是,技术的新旧程 ...
- 前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?
前两天又有小伙伴私信松哥,问题还是职业规划,Java 技术栈路线这种,实际上对于这一类问题我经常不太敢回答,每个人的情况都不太一样,而小伙伴也很少详细介绍自己的情况,大都是一两句话就把问题抛出来了,啥 ...
- spring boot + vue + element-ui全栈开发入门——基于Electron桌面应用开发
前言 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时环 ...
- spring boot + vue + element-ui全栈开发入门
今天想弄弄element-ui 然后就在网上找了个例子 感觉还是可以用的 第一步是完成了 果断 拿过来 放到我这里这 下面直接是连接 点进去 就可以用啊 本想着不用vue 直接导入连接 ...
- 一个实际的案例介绍Spring Boot + Vue 前后端分离
介绍 最近在工作中做个新项目,后端选用Spring Boot,前端选用Vue技术.众所周知现在开发都是前后端分离,本文就将介绍一种前后端分离方式. 常规的开发方式 采用Spring Boot 开发项目 ...
- Vue + Element UI 实现权限管理系统
Vue + Element UI 实现权限管理系统 前端篇(一):搭建开发环境 https://www.cnblogs.com/xifengxiaoma/p/9533018.html
随机推荐
- emWin 界面切换注意事项
@2018-07-10 emWin 在做界面切换时,须将切换前的界面所有信息 “删除”,否则将造成切换后的界面死机 此 “删除” 对象包括: > 界面上绘制的曲线(随时间一直变化).绘制的2D ...
- [Spring] 学习Spring Boot之一:基本使用及简析
一.简介 使用 Spring Boot 目的主要是用来简化 Spring 应用的搭建及开发过程,因为使用 Spring 及 SpringMVC 框架时需要手动配置的地方非常多(各种包之间的依赖.各种配 ...
- win7下PLSQL Developer提示“ORA-12154: TNS:无法解析指定的连接标识符”
解决方法:卸载掉重新安装,注意安装的目录的文件夹不要有特殊的符号,例如64位系统的的安装目录会到Program Files (x86),这时候就会出现"ORA-12154: TNS:无法解析 ...
- eclipse 关闭控制台 自动弹出
Eclipse的控制台console有时候经常的跳出来,非常的烦人! 尤其是在调试期间跳出,以下是分享一下设置操作: 让它不经常的调出来,可以按下面的操作去掉它: windows -> p ...
- Lua程序设计(四)面向对象类继承
1.类继承 ①代码 Sharp = { _val = } --① 父类 function Sharp:new() local new_sharp = { } self.__index = self - ...
- html5 canvas 垂直渐变描边
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Jerasure库简介及使用范例
刚刚写这篇文章之前看了下上一篇博客的时间:2013年7月19日.居然已经过了3个月了!好快!感叹时间的同时不由的又感叹了下自己的懒惰,其实仔细想想,这段时间自己也做了很多事情: 完成了一篇副本同步相关 ...
- 20155233 2016-2017-2 《Java程序设计》第5周学习总结
20155233 2016-2017-2 <Java程序设计>第5周学习总结 学习目标 理解异常架构 牚握try...catch...finally处理异常的方法 会用throw,thro ...
- Linux - awk 文本处理工具三
AWK 文件打印匹配 格式示例 awk '/Tom/' file # 打印匹配到得行 awk '/^Tom/{print $1}' # 匹配Tom开头的行 打印第一个字段 awk '$1 !~ /ly ...
- nginx配置thinkphp5
[root@z_centos nginx]# /usr/local/nginx/sbin/nginx -hnginx version: nginx/1.13.9thinkphp 5.0.18 [roo ...