自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue2中h(“router-view“) vue3如何写?

vue2 render: (h) => h("router-view")vue3import { h, resolveComponent } from "vue"; render: () => h(resolveComponent("router-view"))

2021-09-29 15:48:14 1296

原创 网络底层学习笔记3

1.一些图网络 互联网 因特网ISP 服务商,如移动、联通等,他们把网线、路由器、交换机的帝国铺设好了,比如从海南到北京,你自己网线铺过去试试?所以你才得买移动、联通啥的服务才能上网,人家弄好了,你就近连就行了如果你是电信网,你要下移动的东西,就会从电信isp再到移动isp再到机房下回来,显然会慢一些而你下电信的就比较快,因为你是电信网嘛网络分类以太网是一种连接技术,不是一种网络的名称,要注意区分局域网就是那些交换机连在一起的那些,差不多这种...

2021-08-04 23:37:23 246

原创 一些点的研究5

1.今天遇到一个问题,有个页面用import引入了一个对象文件然后我切换了路由,再回来,发现这个页面的对象文件的改变并没有重置也就是说,你开始的操作改变了引入的那个文件的写死的值,不会随着你页面刷新而刷新意思是import是引用,...

2021-08-02 21:55:47 306

原创 网络底层学习笔记2

1.mac地址生产的时候固化在了电脑网卡的ROM里,前三个字节表示厂商,如洛基亚等等后三个字节厂商自行分配的2.ip地址按照字节来分有4部分3.子网掩码通过子网掩码和ip地址的位运算可以确定当前的网段,没错这就是网段前面说的那个1 ,2,那一个数字不是代表网段,这样算出来的才是网段&位运算的规则是,1与任何位运算都得到对面,所以下面一排1的上面一批直接复制粘贴下来,0与任何位运算都得到0,所以下面一排0的直接复制下来但是也不要被上图..

2021-07-22 23:09:33 171

原创 关于不同浏览器的内核与引擎--记录一下

https://www.cnblogs.com/gdutbean/archive/2012/02/21/2362003.htmlhttps://www.cnblogs.com/guanghe/p/11719334.htmljs引擎介绍几种JS 引擎介绍(不同浏览器有不同的引擎)JS 各种引擎介绍http://www.oschina.net/project/tag/296/javascript-engine 不同浏览器有不同的JS引擎:WebKit , Safari浏览器

2021-07-18 21:53:47 625 1

原创 网络底层学习笔记-持续更新

1.语言的跨平台c/c++针对不同操作系统,编译成不同的可执行文件,之后由相应的操作系统执行解析成0101机器码特点:需要编译多次java只需要编译一次,编译成格式等相同的不可执行的字节码文件,然后各个操作系统上需要安装jdk里面包含jre,jre包含jvm虚拟机,jvm虚拟机可以解析执行字节码文件为0101机器码特点:只需要编译一次即可到处运行,不过各自平台上要装jvm虚拟机解释型语言,如js python以js为例js作为解释型语言,不需要编...

2021-07-13 23:20:22 114

原创 keep-alive简单研究

笔记<!-- keep-alive学习感觉keep-alive类似于v-show啊,我用v-show的时候,组件的数据啥的也都不会变路由数组对象的meta中可以放自定义属性1.用keep-alive的目的只是为了让两个经常切换的组件之间切换的时候保持状态,从别的页面重新进入keep-alive页面的时候,我们还是想让keep-alve能够重新渲染一下的但是并不会,他一旦看是keep-alive就一直只有那两个生命周期触发了为了解决这个问题可以动态的设置它的keep-alive的开

2021-07-12 23:13:17 305 1

原创 vue-cli-service原理研究,以及其与webpack-dev-service的区别

<!--关于vue-cli-service可以看看这篇文章讲的很不错https://segmentfault.com/a/1190000020338771 1.process.env.VUE_CLI_CONTEXT是什么,好像是webpack中的context 看看这篇https://forum.vuejs.org/t/vue-cli-3-0-context/499532.minimist这个包的作用这个是命令行解析工具,那么乍一听这是个啥,其实这个东西用的地方无处不在,只要是...

2021-07-11 23:21:33 3594 1

原创 lodash的对象合并,如果遇到两个合并的对象都是数组,是会后面替换前面,还是两个数组会concat合并?

因为看到webpack.merge的合并是两个数组会合并,所以就想到了lodash的是不是也是试了一下,lodash会后面替换前面let str1 = { a: [1]}let str2 = { a: [2]}console.log(_.merge({}, str1, str2))// a: [ 2 ] }

2021-07-07 21:58:57 832

原创 echarts学习--持续更新

代码1.<template> <div> <div id="echarts1" style="width: 600px; height: 400px"></div> <div id="echarts2" style="width: 600px; height: 400px"></div> <div id="echarts3" style="width: 600px; height: 400px

2021-07-03 22:38:19 128 2

原创 浏览器缓存学习总结

学习记录<!-- 一、缓存-------缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。实现过程就是,当 web 缓存发现请求的资源已经被存储过了,它就会拦截请求返回该资源的拷贝,而不会去源服务器重新下载缓存技术有很多,比如代理缓存、浏览器缓存、网关缓存、负载均衡等https://blog.csdn.net/qq_38910842/article/details/104960509https://www.cnblogs.com/xiaoweihuang/p/1013..

2021-06-27 12:04:45 263 1

原创 HTTP学习笔记

一、缓存缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。实现过程就是,当 web 缓存发现请求的资源已经被存储过了,它就会拦截请求返回该资源的拷贝,而不会去源服务器重新下载缓存技术有很多,比如代理缓存、浏览器缓存、网关缓存、负载均衡等...

2021-06-07 23:45:04 85

原创 lodash一些深浅拷贝的测试

代码如下// assign:后面的会覆盖前面的对象属性,不会递归遍历。// merge: 后面的会覆盖前面的对象属性,会递归遍历。// defaults:前面的属性不为undefined且与后面属性名相同,后面的对象属性会被忽略,不会递归遍历。// defaultsDeep: 前面的属性不为undefined且与后面属性名相同,后面的对象属性会被忽略,会递归遍历。// Object.assign()// JSON.stringify() JSON.parse()// 1.Object.

2021-06-06 23:44:01 547 1

原创 两个对象数组,第二个是通过caocat或者slice或者push第一个的对象到第二个数组,那么改变这些对象的属性,实际上两个数组会一起变化,因为是引用类型

测试代码/** * 之前关于引用类型和对象以及和一些数组方法的联系起来之后的一些问题 */// 1.两个数组push相同的对象,push的是引用类型吗 是// let obj = {// a: 1// }// let arr1 = []// let arr2 = []// arr1.push(obj)// arr2.push(obj)// arr1[0]['a'] = 10// console.log(arr2[0].a)// 10// 2.slice呢 slice

2021-06-06 22:29:28 219

原创 彻底弄懂vue两种路由(hash与history)的原理,包括路径改变页面刷新与不刷新,如何与路径联系切换组件的,以及为什么history模式会有点小问题(发请求到后端404这种)

代码1锚点测试<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&g

2021-06-03 00:10:15 829

原创 关于for循环,await,事件循环的一些杂谈

/** * 我要实现一个需求 * for循环五次 * 开始执行后,每隔一秒 * 我要打印出i 也就是 1 2 3 4 5,间隔一秒打印 *///要解决的问题1-------settimeout为宏任务,for循环为同步的// 当for循环完后,i已经变成了5,那么最后五个定时器打印的都会是5// for (var i = 0; i < 5; i++) {// setTimeout(() => {// console.log(i)// }, 1000)...

2021-05-30 16:57:47 1743

原创 一些点的记录4

1.今天遇到个东西又加深了我的理解给一个对象动态添加属性,然后el-input会绑定这个属性,然后发现,输入不了后来想起来似乎是因为v-model的数据必须是被双向绑定追踪的数据,这样动态加的它没追踪的,于是用$set就可以了,哈哈...

2021-05-18 17:40:06 1471

原创 关于tortoise小乌龟的用法

1.先在仓库建一个分支2.然后拉取一下主分支代码以更新代码拉完之后有冲突 就解决冲突没冲突就更好3.然后git同步,里面选择你的那个分支拉取然后选择要提交的文件勾选,双击可以看更改如果发现有个地方需要改,那就去改,之后他双击对比的地方会弹框提示你是否加载最新变化,点加载就好(这里我有个疑问,感觉是搞懂了,就是我之前觉得觉得的是,我pull了master代码之后,我再改,那会不会又有冲突答案是不会的,因为你已经pull了master最新版本代码,那么你再在这个版本上任.

2021-05-18 12:22:09 655 1

原创 webpack的一些点--持续更新

1.webpack如何自动刷新首先webpack--configwebpack.config.js--watch然后publicPath:'/dist/'然后webpack-dev-server --inline --port 8088有挺多文章都讲了各种七七八八的,不过就这种生效了,不过这些文章里也讲了很多相关的东西https://www.jb51.net/article/135251.htmhttps://www.cnblogs.com/hellohello/p/779...

2021-05-16 21:26:56 193 1

原创 关于webpack的sourcemap

https://segmentfault.com/a/1190000020213957https://www.jianshu.com/p/ebf0ca8febb2https://blog.csdn.net/weixin_45345105/article/details/110465704这几篇文章解释了一些总的来说就是能够让你打断点的时候或者调试的时候,看到源代码,而不运行代码,sourcemap帮你逆解析了如果没有sourcemap 这里可就不会这么友好好看了,那可就全是压缩后的代码...

2021-05-16 19:06:56 85

原创 关于vue与react,引用第三方ui组件,如element antd,的样式穿透问题

首先为什么要样式穿透呢,因为改样式改不到那么为什么会改不到呢,vue中如果你加了scoped,就改不到,因为vue帮你样式模块化了,你可以看到你写的那些元素身上都会有 data[asdfasdfasfd4654]一堆hash一样的东西就是用来样式模块化的,所以你无法透过他们选到里面的element的ui组件的类名,改样式当然,如果去掉scoped就行了,但是这样样式模块化就没了,容易样式类名冲突那么怎么办呢怎么在有scoped样式模块化的情况下,改到element组件的样式呢用穿

2021-05-16 16:54:16 1567

原创 关于canvas的一些学习

1.首先关于canvas,可以看看官网https://www.canvasapi.cn/HTMLCanvasElement/,非常详细的解释了canvas"HTMLCanvasElement可以看成是多有<canvas>元素的代称,几乎所有的HTML标签都有对应的接口名称,然后全部继承于HTMLElement"2.写了一些cavas的小练习https://gitee.com/gong_zhi_yuan/canvas_stu在码云上,持续更新码云生成公钥https://gitee.co

2021-05-07 20:47:03 172

原创 react写上传图片遇到的问题

今天在公司写上传图片,偶然发现element和antd的upload的组件内部都是默认通过ajax帮你发的请求,难道只预留了一个action属性给给你传不过这样有个问题,就是上传图片接口,你就只能传一个字段了,因为默认帮你调的所以我就自己写了upload组件,反正都是基于input type="file"写出来到后面都没什么问题但是有个问题出现了项目里发请求是封装的fetch请求但是我调接口的时候,死活数据放不到请求体里面一开始,我以为是我数据没有后来我在接口上面把for

2021-04-29 23:51:01 796 1

原创 一些点的记录3

1.图片下载本来a标签有个download属性,指定文件名就可以下载,但现在浏览器里都只能预览了,那么只能另外一种方式,将图片装换成Data URLs下载图片看这篇https://blog.csdn.net/qq_43258252/article/details/85063970和这篇http://www.360doc.com/content/19/1229/12/26535044_882890313.shtml...

2021-04-28 22:48:20 156

原创 react粘贴图片上传的尝试,没完成,有bug,删除之后,粘贴会失效,不知道为什么

/** * 新增缺陷弹出框 */"use strict";import "./index.less";import React, { Component } from "react";import { message } from "edspUI";import { Tooltip } from "antd";import { InfoCircleOutlined, FolderOutlined, CopyFilled,} from "@ant-design/icons";.

2021-04-28 15:27:06 415

原创 关于vue路由和路由拦截的一些小问题

//总的来说两个问题//1.路由重复点击报红错误//解决方法:重写push方法,cathc掉错误,就不显示了//2.路由重复点击栈溢出//在beforEach方法里,判断重复路由,就next(false)import Vue from 'vue'import Router from 'vue-router'import HelloWorld from '@/components/HelloWorld'import HelloWorld1 from '@/componen...

2021-04-27 23:06:59 309

原创 一篇总结型文章,this,react中的this,document等node节点原型,实例和原型上的方法属性区分等

关于严格模式'use strict' console.log(document)//此处说明开启了严格模式,也能通过window点出其属性 // 只是window被隐藏了,但凡要打印window的地方,都会打印undefined function hj() { console.log(this)//严格模式下,打印undefined,非严格模式,打印window } hj() console.log(window)//严格模式下,打印不出来window一.th.

2021-04-24 16:36:50 462

原创 react中解决下拉时,多个tooltip包裹的列表中,hover时,tooltip快速触发,闪烁问题

闪烁问题,是由于没有用div包裹元素下拉时不让hover到的元素触发,停止下拉时才触发tooltip显示这里就涉及到如何判断滚动中和滚动结束只需要在滚动时记录下top1,而滚动时节流1000调用另一函数,此函数中再获取当前滚动条值记录为top2,如此进行比较,就可以知道当前滚动是否停止而为何需要1000ms的间隔再判断了,试想一下,如果每次都是秒判断,那么必定一直相等,因为top1,top2两者都是取得滚动条的值,自然是要有些间隔来取,import React, { Component

2021-04-23 15:25:04 876

原创 关于vue中的数据传递的响应以及watch的理解

首先看看这篇说的https://www.cnblogs.com/1032473245jing/p/11102919.html1.将父组件数据赋值给子组件数据,子组件间接使用,数据仅在mounted中渲染,父组件数据改变子组件数据不改变,需要用watch监听,可以深度监听2.子组件直接使用父组件传递的数据,父组件数据改变子组件改变,不管这个对象有多少层,都能响应变化,这一点我也是多次试过的第2种的案例那么我这种情况应该是属于第2种,那么为什么不行呢,因为我的对象不是响应式的,没有成为dat

2021-04-21 10:55:53 390

原创 关于防抖与节流

他们都是不停地触发只是他们的应对不一样防抖是每次都清除定时器再开新的定时器,所以就会不管你多少次点击,也只会有一个定时器,节流就是,首先默认flag为true然后执行的时候先判断flag是否true否则return是的话进入执行,然后定时器中设置flag为false所以就会不管你点多少次,在上个定时器没有执行完时,flag始终为false,你也就进不去开新的定时器,只有上个定时器完了,你才能再开新的定时器https://blog.csdn.net/x550392236/article.

2021-04-15 09:34:35 90

原创 关于多层组件连续传值的改值问题,子改,孙改,或者父改,对传的数据的影响

下面是结论<!--1.父组件传给子组件对象,子组件改传的对象的属性,父组件中传的这个值会变吗会变--><!--2.父组件传给子组件对象,父组件改传的对象的属性,传给了子组件这个值会变吗会变--><!--3.爷组件传给孙组件对象,孙组件改传的对象的属性,爷组件中传的这个值会变吗会变--><!--3.1如果是像el-radio这种改变呢,不像yTogrands.name这种直接赋值,而是通过视图改变...

2021-04-13 22:43:01 300

原创 关于watch

1.今天做个需求,一个对象传了好几层到子组件,然后子组件改了,这个对象也要同步到变化,最后通过保存回调,得到改了的数据传回来我直接修改传的对象,比如通过两个el-radio的选中切换,但是传的数据没有变化,已经watch深度监听了反正就是用watch监听到了最新的变化,于是成功同步了数据代码<template> <div class="alert_params_headers"> <el-row> <

2021-04-13 16:58:47 146 1

原创 关于createElement的一些点

1.这里我用h代指createElementh('div',{domProps:{innerHTML:'bag'}},[h('span',{domProps:{innerHTML:'bag'}},[]),h('span',{domProps:...

2021-04-12 00:18:28 1017 1

原创 如何在element的相应的行上加其他dom元素实现样式与功能呢

首先这个我看element官网还真没发现咋整,没法在table里再塞一行div啥的不过自己想了个方法,其实动态定个位就好了,其实动态定位,动态大小啥的,在之前那家公司写uniapp的时候还真是写过好多次....各种兼容,动态获取宽高啥啥的,动态设置宽高等等属性 所以这个功能我就也想到了这么整不多说,看代码<template> <div class="mytable"> <el-table @cell-mouse-enter="handl..

2021-04-11 21:30:31 738 1

原创 computed能作为组件传值传递吗

点击后可以

2021-04-11 14:15:52 1117

原创 一些点的记录2---持续更新

1.vue中scss的安装cnpm [email protected] -Dcnpm [email protected] -D在webpack.base.conf.js中的module的rules加上{test:/\.scss$/,loader:'sass-loader!style-loader!css-loader',},

2021-04-11 14:02:35 78

原创 数组的处理方法,感觉需要总结一下了,最近用到的特别多,各种数组之间的处理--持续更新吧

为了案例的综合性,尽量采用对象数组的方式,以及对象数组混合普通数组1数组去重// 数组去重,去重指的是重复的只留下一个,而不是全删了// 这里以数组对象与普通对象为例子// 并且是以单个数组去重为例子// 多个数组去重没有必要赘述// 因为多个数组去重,也不过是数组concat之后,再去重罢了// 1.new set方式let arr1 = [{ a: 1, b: 2 }, { a: 1, b: 1 }, { a: 1, b: 2 }]let arr3 = [{ a: 1,

2021-04-10 21:03:47 133 1

原创 一个数组删除数组内另外一个数组存在的元素

let choosedArr = data.concat() let dataIdList= data.map(el=>el.id) let noChoosedArr = self.tableData.filter(function (item) { return dataIdList.indexOf(item.id) < 0; }) conso.

2021-04-09 17:11:41 383

原创 子元素盖住父元素边框

代码 .tab { &_t { display: flex; border-bottom: 1px solid #d7d7d7; padding-left: 20px; li { width: 66px; display: inline-block;

2021-04-06 12:07:14 541 1

原创 递归树形点击导航栏

app.vue<template> <div id="app"> <div class="t"></div> <div class="b"> <el-radio-group v-model="isCollapse" style="margin-bottom: 20px"> <el-radio-button :label="false">展开</el-radio-bu

2021-04-05 17:26:00 162

空空如也

空空如也

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

TA关注的人

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