自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 elementuiPlus 中的 el-image 实现全屏展示,放大缩小配置偶尔失效?

elementuiPlus 中的 el-image 实现全屏展示,放大缩小配置偶尔失效?

2024-04-17 14:16:49 1217

原创 vue3 + vite 项目兼容性问题

vue3、vite 项目低版本浏览器兼容处理

2024-03-20 16:36:56 706

原创 前端依赖下载速度过慢解决方法,nrm 镜像管理工具

使用 npm install 安装依赖的时候,速度会很慢,修改镜像源。nrm 镜像源管理工具;

2023-12-05 13:54:59 792

原创 element el-input 二次封装

element el-input的二次封装,输入限制

2023-09-11 17:05:12 1120

原创 nvm的安装配置(node多版本切换控制)

nvm安装,实现node多版本切换;

2023-08-17 14:30:56 368

原创 vue + g6 实现树级结构(compactBox 紧凑树)

Antv G6 实现树级结构,自定义节点

2023-06-15 15:29:58 1532

原创 elementPlus 二次封装 el-upload

elementui 对 el-upload 上传文件的二次封装;before-upload 与 on-remove事件

2023-06-02 10:34:17 897

原创 git.ci 配置Docker 镜像构建,实现提交前端代码自动发布

git 配置提交前端代码自动发布。git 配置CI/CD

2023-05-18 11:07:44 297

原创 前端添加水印

前端实现为图片或某元素添加水印

2023-05-17 18:37:09 571

原创 vue引入字体包

【代码】vue引入字体包。

2023-05-04 17:49:23 319

原创 通过router路由新打开界面

通过router路由新打开界面;router-link 或 a标签打开新界面,谷歌浏览器中session-storage数据丢失问题

2023-03-10 11:17:14 2007

原创 JS判断数据类型

1、typeoftypeof判断数据类型(判断Array,Object,null,Date,RegExp,Error这几个类型都被typeof判断为object都返回object)typeof(null) == 'object' // truetypeof NaN == 'number' // NaN 是Number中的一种,非Number注 Number,String,Boolean,Function,undefined,如果想判断这几种类型,那就可以使用typeof。2、instanceof

2021-09-16 10:15:27 488

原创 ES6 箭头函数加不加大括号的区别

直接点:加大括号 { },没有默认的 return,必须在其中 return 返回;不加大括号,只有一行代码,默认 return 返回其值const finish = computed(() => state.lists.filter((item) => item.checked == true))// 等同于const finish = computed(() => { return state.lists.filter((item) => { i

2021-09-09 16:25:07 243

原创 使用http-server或serve 开启本地服务器

在本地开启一个本地服务器,来访问HTML页面,从本地直接打开的一般是file协议。1、下载 node.js官网地址: https://nodejs.org下载完成后在命令行输入命令 $ node -v 以及 $ npm -v 检查版本,确认是否安装成功。2、下载 http-server在终端输入npm install http-server -g3、开启 http-server 服务http-server -c-1终端进入目标文件,然后输入:http-server -c-1 // 注意

2021-07-30 18:13:51 1419

原创 ES6 Set 与 Map 的基本使用

使用时必须要new:Set是ES6提供给我们的构造函数,能构造出一种新的储存数据的结构;特点:只有属性值,成员值唯一(不重复)用途:可以转换成数组,进行去重、取交集、并集、差集等操作;Set的基本使用:创建时可传[]、’'等迭代数据;Set.prototype的方法:add()delete()clear()has()forEach()const oS = new Set([1,2,false,2]); //自带去重方法 // Set(3) {1, 2, false}const

2021-07-30 13:52:20 102

转载 浅谈js运行机制(线程)

浅谈js运行机制(线程)1.前言从开始接触js时,我们便知道js是单线程的。单线程,异步,同步,互调,阻塞等。在实际写js的时候,我们都会用到ajax,不管是原生的实现,还是借助jQuery等工具库实现,我们都知道,ajax可以实现局部刷新,并且在请求处理时,任然可以响应用户的操作,比如点击事件。不是说js是单线程吗?这些都是怎么实现的?在阅读《深入理解Bootrap的源码》一书,在分析轮播组件(carousel.js)的源码时,作者对一句代码操作的注释引起了我的兴趣。setTimeout(func

2021-07-29 11:34:31 636

原创 微信公众号h5界面获取展示微信内置地图与地图坐标间的转换 — 微信地图(gcj02)转为百度地图

微信公众号h5界面获取展示微信内置地图与地图坐标间的转换地图经纬度偏差gcj02坐标与百度地图坐标的转变微信坐标与百度地图坐标的转换

2021-07-09 19:17:22 2017

原创 vue中v-for为什么要加key

可以简单的这样理解:没有 key 属性,状态默认绑定的是位置,有 key 时,状态根据key的值绑定到了相应的数组元素上。之所以加上key是因为vue源码是内部数据驱动,通过改变数据进而达到改变视图,加上key这样算法更容易定位到相应的元素,避免去遍历DOM造成的性能的消耗。例不加 key 的<div> <input type="text" v-model='name'> <button @click='add'>添加</button>&lt

2021-06-29 18:10:48 3525 2

原创 GET 和 POST 的区别

GET和POST,两者是HTTP协议中发送请求的方法。GETGET 方法请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据。POSTPOST 方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或「副作用」。本质上都是 TCP 链接,并无差别。区别从 w3schools 得到的标准答案的区别如下:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不.

2021-06-21 18:45:58 99

原创 地址栏输入 URL 敲下回车后发生了什么

url链接输入之后都经历了什么URL 解析DNS 解析TCP连接页面渲染

2021-06-21 18:11:27 310

原创 ES6知识点(2)对象扩展

1、Object.assign() 对象的合并用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象中。2、链判断运算符(链式判断对象的某个属性)如果读取对象内部的某个属性,往往需要判断一下该对象是否存在3、Null 判断运算符(指定默认值)只要属性的值为null或undefined,默认值就会生效,但是如果用 ||,属性的值如果为空字符串或false或0,默认值也会生效。

2021-04-15 15:56:01 191

原创 new URLSearchParams() 获取地址栏的参数 通过键的方式拿到值

window.location简介new URLSearchParams() 获取地址栏的参数 通过键的方式拿到值

2021-04-02 18:12:59 1530

原创 函数的防抖与节流

防抖函数防抖,抖动就是执行的意思。假设函数持续多次执行,我们希望他冷静下来再执行。也就是当持续触发事件的时候,函数完全不执行,等最后一次触发完成后的一段时间之后,再去执行。即需求:持续触发不执行不触发的一段时间之后再执行实现:我们先看这一点:在不触发的一段时间之后再执行,那就需要个定时器呀,定时器里面调用我们要执行的函数,将arguments传入。封装一个函数,让持续触发的事件监听的是我们封装的这个函数,将目标函数作为回调传进去,等待一段时间过后执行目标函数。function debo

2021-03-31 14:12:21 66

原创 前端JS知识点

1、reflow(回流)/repaint(重绘)2、类型转换3、冒泡事件相关4、void()5、Javascript 全局函数6、关于函数的 length 属性7、数组中字符串键值的处理8、给定一组 url 实现并发请求9、类型转换问题10、属性的遍历11、数字转为千位制...

2021-03-31 14:10:14 444 1

原创 Object.xxx方法的理解与使用

Object.defineProperty 定义对象的新属性或修改原有的属性。Object.defineProperties()Object.getOwnPropertyDescriptor()

2021-03-05 18:40:13 251

原创 sass用法

SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。

2020-12-10 10:26:52 89 1

原创 JS中this的使用

**this 只有在执行的时候才能被确认,定义时无法确认。**函数执行时,this总是指向调用该函数的对象(即:判断this所在的函数属于谁)1、作为对象属性执行2、作为构造函数执行;3、作为普通函数执行;4、call、apply、bind的使用

2020-10-30 17:30:08 331

原创 排序算法

1、冒泡排序算法原理如下:1、比较相邻的元素,如果第一个比第二个大,就交换他们两个;2、对每一对相邻元素做同样的工作,从开始第一队到结尾的最后一对。在这一点,最后的元素应该是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,知道没有任何一对数字需要比较。动图演示:javascript代码实现function bubbleSort (arr) { var len = arr.length; for (var i = 0; i <

2020-09-24 20:25:58 108

转载 浅析Websocket原理及用法

websocket 简介什么是websocket?答:是一种网络通信协议,是HTML5 提供的一种在单个TCP连接上进行全双工通讯的协议。为什么要websocket?答:因为HTTP 协议是只允许客户端发起通信;若想监听数据的不断变化,HTTP的话就是通过轮询,不断地定时循环请求。但是轮询的效率低,而且非常浪费资源(因为必须不听的连接,或者HTTP 连接始终打开)。简介websocket用于在web浏览器与服务器之间进行任意的双向数据传输,即Websocket是一个持久化的协议。Websocke

2020-09-21 13:12:36 726

原创 VUE中的slot(插槽:默认插槽/具名插槽/作用域插槽)

个人理解就是,插槽用于决定将携带的内容插入到指定位置,插槽的显示不显示,怎样显示由父组件控制,而插槽在哪显示就由子组件来进行控制。使用默认插槽父组件<file-list v-if="showFileDialog" :fileList='filesArr' @closeFileDialog='closeFileDialog'> <span>showText</span></file-list>在父组件引用的子组件中写入想要显示的内容(可以使用标

2020-09-16 15:36:05 684 1

原创 基础组件测自动化全局注册(require.context)

在项目中,可能有许多组件有一些通用的小组件,即基础组件,如包裹了一个输入框或按钮之类的元素,这样就会导致很多组件都会有一个包含基础组件的长列表:import BaseButton from './BaseButton.vue'import BaseIcon from './BaseIcon.vue'import BaseInput from './BaseInput.vue'export default { components: { BaseButton, BaseIcon,

2020-09-15 14:24:16 407

原创 vue中created、mounted、activated的区别

created:在模板渲染成html之前调用,即通常初始化某些属性值,然后再渲染成视图;但是注意,只会触发一次mounted:在渲染成html之后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。是挂载vue实例后的钩子函数,钩子在主页挂载时执行一次,如果没有缓存的话,再次回到主页时,此函数还会执行。activated:是组件被激活后的钩子函数,每次回到页面都会执行执行顺序:created => mounted => activated...

2020-08-12 14:32:20 5098

原创 vue + ElementUI + BMap 百度地图实现地图选址定位并获取地址信息

vue组件中引入百度地图的使用目标:实现页面定位选址效果:1、安装BMapnpm install vue-baidu-map --save2、main.js中全局引用import BaiduMap from 'vue-baidu-map'Vue.use(BaiduMap, { ak: 'your apikey'})3、页面组件中HTML:<el-dialog title="地图" :visible.sync="showMap" width="70%" :

2020-07-16 18:01:14 8534 5

原创 vue+ElementUI 父组件判断嵌入的子组件表单的验证条件是否通过

父组件在提交时,需要判断嵌入的子组件表单是否通过验证,通过才可进行表单的提交;子组件:// 子组件校验,传递到父组件validateForm () { let flag = null this.$refs['formDatas'].validate(valid => { if (valid) { flag = true } else { flag = false } }) return flag}父组件:submit (f

2020-07-02 11:18:18 1848 4

原创 vue子组件实时监听父组件数据(watch监听)

前言// files已上传的文件props: ['files'],data () { return { fileList: this.files || [] }},watch: { fileList (newValue, oldValue) { console.log(newValue) }}利用watch监听父组件传过来的某个数据变化,结果监听不到,搜索半天,尝试半天,发现这种方式只能监听基础类型的变量而这传递的是个数组。所以查了下还是做个总结吧。普通基础

2020-06-11 16:50:53 16021 1

原创 Git 配置 SSH密钥

git 配置ssh ssh-keygen -t rsa -C "xxxxxx@xx.com"回车会出现Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): // 这里的username是电脑上的用户名,这个地址也是文件的存储地址,然后按回车如果以前有存储地址会返回

2020-06-04 11:03:40 3488

原创 git 常用操作(用户操作、分支代码合并)

1、设置git用户名、密码、邮箱的配置(全局配置)2.修改git用户名、密码、邮箱的配置(跟设置语法一样,没有用户名就添加,有了用户名就修改)3、分支相关4、合并分支代码6、修改分支名称7、更新本地git仓库的远程地址

2020-05-22 17:29:54 3000 1

原创 vue-cli 多环境配置

vue-cli 多环境配置vue-cli2、vue-cli3

2020-05-19 16:01:49 997

原创 Vue组件通信(父传子、子传父、兄弟间、祖先与子孙间)

components ├── Grandson1.vue // 孙子1 ├── Grandson2.vue // 孙子2 ├── Parent.vue // 父亲 ├── Son1.vue // 儿子1 └── Son2.vue // 儿子2一、props父传子Parent.vue<template> <div> 父组件:{{mny}} <Son1 :mny="mny"></Son1> &l

2020-05-18 15:14:05 1885 2

原创 vue快速原型开发

当做一些小的vue练习或者小的项目时,可以进行快速原型开发,不过这需要先额外安装一个全局的扩展。1、首先确保安装好了node通过 node -v 查看版本号2、全局安装 vue-cli 脚手架命令行执行 npm install -g vue-cli // 以后再用 init 创建新项目就不需要再安装 vue-cli 了安装后,通过 vue -V 查看是否安装成功。注意:-V 为大写3、安装全局扩展 servenpm install -g @vue/cli-service-global注

2020-05-13 14:32:15 1877

空空如也

空空如也

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

TA关注的人

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