vue-element-admin项目的一些总结

该博客围绕Vue项目开发展开,涵盖初始化、路由配置、API调用、验证规则封装、时间日期格式化等内容。还介绍了vue - table的使用、数组和字符串操作、对象处理、JSON格式,以及父子组件传值和Echarts的安装与渲染,是开发中问题的总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码

GitHub地址:链接

初始化,实现login和logout

blog地址:链接

配置路由

在这里插入图片描述
详情可以参考官网或查资料
设置hidden:true可以解决login进来直接重定位跳转到home页并且不显示侧边栏

api的调用和页面的展示

在src/api的目录下定义相应的api接口

在这里插入图片描述
api中的request方法调用的是src/utils目录下的request.js文件(封装的axios,对请求的api进行处理)

在页面中调用api获取数据

在这里插入图片描述
在这里插入图片描述
获取到数据之后就可以对页面进行渲染啦

验证规则的封装

在src/api目录下添加verify.js

在这里插入图片描述

在页面中引用验证规则

在这里插入图片描述

在页面中调用验证规则函数

在这里插入图片描述

时间日期格式化

在src的main.js中定义格式化函数

在这里插入图片描述

页面中的使用

在这里插入图片描述

vue-table

table中定义索引列

在这里插入图片描述
在这里插入图片描述

table中定义展开列

在这里插入图片描述
在这里插入图片描述

tree-table的实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

table标签的条件渲染

在这里插入图片描述

table操作列的渲染

在这里插入图片描述

条件判断table的显示与隐藏

在这里插入图片描述
判断数组为空:arr.length === 0;判断字符串为空(除空格):str.trim().length === 0

数组

随机获取数组任一项
//在Array原型上创建一个random方法
Array.prototype.random = function () {
    var idx = Math.floor((Math.random() * this.length));
    //var n = this.slice(idx, idx+1)[0];//或者用下面splice()
    var n = this.splice(idx,1)[0];
    return n;
}

//声明任意一个数组
var arr=[1,2,3,"a","b"];
//可直接像调用数组其他操作方法一样使用,如arr.random(),返回值便是arr任一项
console.log(arr.random())
数组中的项随机排序
// 对数组进行随机排序(洗牌算法)
var arr1 = [1, 2, 3, 'a', 'b']
function randomSort(testArr) {
  var cloneArr = testArr.concat()
  for (var i = 0; i < cloneArr.length; i++) {
    var index = Math.floor(Math.random() * cloneArr.length)
    var temp = cloneArr[index]
    cloneArr[index] = cloneArr[i]
    cloneArr[i] = temp
  }
  return cloneArr
}
console.log(randomSort(arr1))
获取删除指定项
// 获取数组指定项:arr.slice(start,end)

// 删除数组中指定项:arr.splice(index,howmany)

// 查找删除数组指定项
// 删除数组中的指定项
function remove(demoArr) {
  for (var i = 0; i < demoArr.length; i++) {
    if (demoArr[i] === 'a') {
      demoArr.splice(i, 1)
    }
  }
}
remove(arr1)
console.log(arr1)
数组去重
const arr = [1,1,2,2,3,3,4,5,6,6,6];
let s = new Set(arr)
console.log([...s])//得到去重后的数组

字符串

字符串截取:string.substr(start,length)
字符串替换:string.replace(searchvalue,newvalue)
字符串指定字符分割为字符串数组:string.split(字符串或正则,最大长度)
字符串去空格:string.trim()
字符串去重:

const str = 'adsfasdfasdfasdfasdf'
var s = new Set(str);
console.log( [...s].join(''))

对象

获取对象或数组的指定项
function target(obj, x) {
  var i = 0
  for (var key in obj) {
    if (i == x) {
      return obj[key]
    }
    ++i
  }
}
var obj1 = {
  name: 'falcon',
  age: 20,
  sex: 'female',
}
var arr1 = [1, 2, 3, 'a', 'b']
console.log(target(obj1, 2))
console.log(target(arr1, 1))
删除对象数组中某一指定项
var testDemo = [
  {
    id: 1,
    name: 'falcon',
  },
  {
    id: 2,
    name: 'alice',
  },
]
function removeById(arrObj) {
  for (var i = 0; i < arrObj.length; i++) {
    if (arrObj[i].id === 2) {
      arrObj.splice(i, 1)
    }
  }
  return arrObj
}
console.log(removeById(testDemo))

JSON

数组在名称值/对中
数组由逗号分隔
大括号 { } 保存对象
中括号 [ ] 保存数组,数组可以包含多个对象

// JSON.parse()   将数据转换为js对象
var obj = JSON.parse('{"name":"falcon","age":20,"sex":"male"}')
console.log(obj)
// JSON.stringify()    将js对象转换为字符串
var obj = JSON.stringify('{"name":"falcon","age":20,"sex":"male"}')
console.log(obj)

父子组件(以其中一个为例)

首先先建一个itemAdd.vue子组件

在这里插入图片描述

在父组件中引入并注册(js)

在这里插入图片描述

然后在页面中进行传值和操作(html)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

子组件接收父组件传递的参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:父子组件运用过程中,要保证子组件做最少的更改,尽量做数据展示,把数据的变动放在父组件中

Echarts

安装

运行命名cnpm install echarts --save安装echarts
在这里插入图片描述

注册

在这里插入图片描述

按需引入

在这里插入图片描述

初始化并获取数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据渲染

在这里插入图片描述
在这里插入图片描述
渲染完成,也可以通过把options直接写在setoption()方法中进行数据的渲染,具体形式以后台给的数据为参考

以上为自己过程中遇到问题的简单总结,欢迎补充、修正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值