自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 js前端打印

js前端打印,原生打印,借助html2canvas

2022-02-28 10:32:53 785

原创 基于vue的编辑短信模板

vue的短信模板编辑功能

2022-02-21 09:34:29 785

原创 封装Axios

import axios from 'axios'import storage from 'store'// 创建 axios 实例const request = axios.create({ // API 请求的默认前缀 baseURL: process.env.VUE_APP_BASE_URL, // 可放到专门配置文件 timeout: 10000, // 请求超时时间});// 异常拦截处理器const errorHandler = (error) =>.

2021-09-09 17:12:28 162

原创 自动注册Svg图标

文件路径@/assets/svgs自动注册并打包成一张雪碧图首先需要对webpack和svg-sprite-loader进行相关设置,文件全部打包成svgs-spritemodule.exports = { chainWebpack: (config) => { config.module .rule('svg) .exclude.add(resolve('src/assets/svgs'))

2021-09-09 16:57:26 201

原创 vue/cli全局样式配置

variable.scss: 全局变量管理mixins.scss: 全局Mixins管理module.exports = { css: { loaderOptions: { sass: { prependData: ` @import '@/style/variable.scss'; @import '@/style/mixins.scss

2021-09-09 16:13:22 176

原创 js实现数字金额千分位等分开格式化

const ThousandsSeparatorFormat = (val, str = ',') => { let isValid = false if (typeof val === 'number') { isValid = true } if (typeof val === 'string') { val = Number(val) if (!isNaN(val)) { isValid =.

2021-08-18 16:28:59 148

原创 package.json中scripts配置环境变量区分开发环境和生产环境

方法一先安装依赖:npm install --save-dev cross-env然后在package.json配置如下:"dev": "cross-env NODE_ENV=development vue-cli-service serve","build": "cross-env NODE_ENV=production vue-cli-service build"方法二(只使用vue-cli)创建两个文件.env.dev文件NODE_ENV=developmen

2021-08-16 10:43:24 2703

原创 js数组扁平化

将一个多层嵌套的数组转为只有一层的数组。例:var arr = [1, [2, [3, 4]]]// 经过转换后// [1, 2, 3, 4]递归function flat(arr) { let result = [] for(let i = 0; i < arr.length; i++){ const el = arr[i] // 判断该元素类型是否为数组,是则继续递归执行。否放到最后的结果数组中 if (el instanceof Array) {

2021-04-01 15:35:14 74

原创 js立即执行函数

立即执行函数是一种语法,可以函数在被定义后立即执行。作用:页面加载完成只执行一次将函数中的变量包裹在局部作用域中,不会泄露为全局变量(function() { console.log('定义后我立马执行了')})()可以向立即执行函数传参,在其内部不使用window也可以被访问到(建议不要给它传过多参数,不方便阅读代码)(function(num) { console.log(`执行了${num}`)})()立即执行函数也能返回值并且可以赋值给其它变量。建议在使用完后,清除fn

2021-04-01 10:14:11 237

原创 js简单防抖、节流

函数防抖和函数节流都是防止某一时间频繁触发,但是这两者原理却不一样防抖一段时间内只执行一次,例:1.search搜索联想,用户在不断输入值时,用防抖来节约请求资源。2.window触发resize的时候,不断的调整浏览器窗口大小会不断的触发这个事件,用防抖来让其只触发一次。function debounce(fn, ms = 1000) { let timer; return function (...args) { if (timer) { clearTimeout(

2021-03-31 15:32:25 104

原创 v-if与v-for、v-if与v-show

1.v-if与v-for当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级,这意味着 v-if 将分别重复运行于每个 v-for 循环中。所以,不推荐v-if和v-for同时使用。推荐使用方式:<div v-for="(item, $index) in data"> {{item}}</div>放在计算属性遍历,或者在遍历之前筛选好computed: { data: function () {

2021-03-22 16:02:21 158

原创 js收据、发票等表格数据格式化,js把数字转为中文大写

/** * 把金额转为发票、收据等表格能遍历显示的数据 * * @param {money} Numner 金额大小 * @param {max} Numner 带(角、分的位数) * 例:百 十 万 千 百 十 元 角 分为9位 */function moenyToStr(money, max = 9) { // NaN !== NaN if (Number(money) !== Number(money)) { return money } .

2021-03-16 15:14:56 851

原创 js父子关系数据转为树形结构数据

function translateDataToTree(data, config) { const { pId = 'pId', id = 'id', children = 'children' } = config let parents = data.filter(v => [undefined, null, 'undefined', 0].includes(v[pId])) let childrens = data

2021-03-10 17:49:08 162

原创 js实现兄弟字符串算法

1.首先判断是否都为字符串2.判断两者长度是否相等3.判断两者长度是否都为04.计算每个字符出现在各自字符串的次数5.比较两者字符个数是否相等6.判断一个字符串的元素是否都存在另外一个字符串中,并且出现次数相同function isBroStr(s1, s2) { if (typeof s1 !== 'string' || typeof s1 !== 'string') { return 0 } if (s1.length !== s2.length) {

2020-11-27 16:56:26 188

原创 js判断变量的类型

1. typeoftypeof操作符范湖一个字符串,表示为经求值的操作数的类型。可能返回值如下表类型返回值Number‘number’Boolean‘boolean’String‘string’Null‘object’ (特殊)Undefined‘undefined’Symbol(ES6新增类型)‘symbol’函数‘function’其它任何对象‘object’常见题目题目一(funciton() { retur

2020-11-26 15:04:17 209

原创 javaScript深度拷贝,深度克隆

对于原始类型及对象中的函数是可以直接通过“=”复制来实现克隆,而对于对象和数组,需要遍历每个元素,若元素为对象和数组,则继续递归遍历,直到元素为原始类型或函数,则直接通过“=”复制。function deepClone(obj) { let result const o = isClass(obj) if (o === 'Object') { result = {} } else if (o === 'Array') { result = [] } else { return obj

2020-11-25 18:20:05 98

原创 element form使用v-if切换el-form-item状态后,会导致不触发验证

当show状态从false改变为true以后,不会触发表单中price的验证规则。处理方法:在el-form-item上key,key唯一即可<el-form-item v-if="show" prop="price" key="price" > <el-input v-model="form.price" /></el-form-item><button @click="show = !show"></button>...

2020-10-14 10:06:02 3222

原创 git拉取远程分支到本地、新建本地分支并推送到远程仓库、直接拉取某个分支合并到指定分支、本地文件夹与GitHub仓库建立关联

1.git拉取远程分支到本地当本地仓库不存在1.创建本地文件夹2.初始化本地仓库,关联远程仓库git initgit remote add origin <远程仓库地址>或者,直接拉取mastergit clone <远程仓库地址>拉取指定分支3.拉取指定远程分支到本地(后文都用dev来代表指定分支)git fetch origin <branchName> 4.本地创建分支并切换到该分支git checkout -b <branch

2020-09-24 19:04:07 1130

原创 git tag——创建tags并推送到远程

git tag —— 打标签标签一般用于版本发布,一旦发布,不能更改该标签,只能重新打标签。下面是git tag常用命令:查看当前标签git tag # //在控制台打印出当前仓库的所有标签打标签轻量级标签: 指向提交对象#两种打标签方式git tag [tagname]git tag [tagname] -light附注标签:是仓库中的一个对象git tag -a [tagname] -m "注释" #a是annotated的缩写,指定标签类型,后附标签。 m制定标

2020-09-24 14:26:48 9121 1

原创 JS中null和undefined的区别和用法

erew

2020-09-17 21:10:00 138

原创 JS用var声明变量和不用var声明变量的区别

阅读前需理解:作用域和函数作用域声明变量变量在脚本中第一次出现是在声明中。第一次用到时就设置于内存中,便于在后续中使用。可以使用var或者不用其声明。var num //单个声明console.log(num) //undefinedvar age , year //多个一起声明var height = 180, weight = 140 //声明和初始化赋值sex = '男'console.log(sex) //男当没有初始化变量时,变量自动取值undefined。如果不

2020-09-17 20:47:58 1401 1

原创 Echarts社区地址

最新Echarts社区地址,官方和开源社区停止运营,博主个人维护网址,可在线调试等

2020-09-17 16:57:09 47078 6

原创 vue中使用echarts一系列问题

1.dataZoom功能不能正常显示问题描述:添加完配置后,Echarts datazoom的效果出不来(有时能出来,有时不能出来),在echart正常引入的情况系下,还需要在引入:import 'echarts/lib/component/dataZoom'引用后就能正常使用了!...

2020-09-16 21:24:23 433

转载 flex布局

转载:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

2020-09-15 18:30:45 75

原创 vue中sass、less等css扩展语言预配置

配置全局variable.scss,不需要在组件单独引用,可直接使用variable中的变量vue.config.js:module.exports = { devServer: { port: 9000 }, css: { loaderOptions: { sass: { //不同版本的写法稍微有些区别,根据情况使用 //旧版本 //data: `@import "路径/variable.scss";` //项目中v

2020-09-15 11:17:23 185

原创 javascript根据数组中某一个对象属性进行排序

/** * @description 根据数组中某一个对象进行排序 * @param {Array} arr原数组 * @param {String} 需排序的属性 * @param {Number} sortType排序方式 */sortArrById = (arr, id, sortType) => { return arr.sort((a, b) => { if (sortType === 1) return a[id] - b[id]

2020-09-15 10:51:21 210

原创 git将子仓库作为主仓库的子模块

1.创建主仓库和子仓库2.正常拉取主仓库代码到本地git clone main.git(主仓库代码链接)3.进入到主仓库,并添加子仓库到本地git submodule add common.git(子仓库代码链接) anotherName(别名,非必填,不填则默认为仓库名称)//添加成功后主仓库根目录增加了.gitmodule文件4.添加完子仓库后,需要进一步克隆子仓库文件git submodule init // 初始化本地配置文件git submodule update // 检出

2020-09-15 10:41:25 1333

原创 .gitignore添加完后立即生效

git rm -r --cached . # 清除缓存git add . # 追踪文件git commit -m "更新.gitignore" # 注释提交git push origin "分支名称" # 推送远程...

2020-09-15 10:26:34 234

基于element-ui的table表格封装

基于element-ui的table表格封装

2022-02-24

基于vue的开放周行程或课程组件

基于vue的开放周行程或课程组件

2022-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除