ElementUI
前后端分离
(1)交互模式 --restful
(2)代码层次–代码仓库
(3)开发模式–人员分配
搭建脚手架工程
······
Elementui的使用
1)安装 : npm i element-ui -S
2)在main.js 引入:
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
3)组件
测试elementui的组件
elementui组件
学习elementUI精髓,查文档······
mockjs(主要前端)
为什么需要模拟数据?
主要针对前端人员 , 前端没有后台的数据,需要模拟进行测试
使用mockjs:
(1)安装
npm install mockjs
(2)测试
新创建一个js文件:
var data = Mock.mock({
name: {
first: '@FIRST',
middle: '@FIRST',
last: '@LAST',
full: '@first @middle @last',
email:'@email',
ip:'@ip'
}
})
// 输出结果
console.log(JSON.stringify(data, null, 4))
3)运行 node demo
axios请求
axios类似 ajax ,封装promise(异步请求)
安装:
npm install axios --save
mockjs流程
注意:
main.js引入文件
import axios from 'axios'
import userMock from '../userMock'
//配置axios的全局基本路径 t
axios.defaults.baseURL=''
//全局属性配置,在任意组件内可以使用this.$http获取axios对象
Vue.prototype.$http = axios
crud.vue
1)发送请求:
getUsers(){
let params = {
page:this.page
}
//发送请求 controller {data:[],total:100}
this.$http.post('/user/list',params).then(res=>{
console.log("-------------------res.data {data: total}");
console.log(res);
this.users = res.data.data;
this.total = res.data.total;
})
}
2)被mock拦截
Mock.mock(new RegExp('/user/list'),'post',(opts) => {
//赋值
var list =dataList;
console.log(opts.body) ;// "{page:2}"
//json字符串转换成JSON对象
var index = JSON.parse(opts.body).page; //2
//每页条数
var size = 10;
//公共的条数
var total = list.length
//分页方法
list = pagination(index, size, list);
return {
'total': total,
'data': list
}
})