- 博客(46)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 element toolTip 修改样式 不生效_踩坑
首先: toolTip 实现原理是hover 元素时在body中添加dom,所以,在scoped下不生效,需要重新写style,其次:css 同时包含选择器。
2023-06-07 11:05:27
1856
原创 前端踩坑_Failed to execute ‘querySelector‘ on ‘Document‘: ‘#5d...,is not a valid selector.
is not a valid selector
2022-11-29 11:52:18
1453
转载 移动端 H5 相关问题汇总
. 1px 问题. 响应式布局. iOS 滑动不流畅. iOS 上拉边界下拉出现白色空白. 页面件放大或缩小不确定性行为. click 点击穿透与延迟. 软键盘弹出将页面顶起来、收起未回落问题. iPhone X 底部栏适配问题
2022-10-03 11:36:04
282
原创 husky - pre-commit hook exited with code 1 (error)
husky - pre-commit hook exited with code 1 (error)
2022-07-19 17:33:04
9734
原创 el-select选择无变化 解决方案
el-select选择无变化解决方案问题重现//伪代码<el-select v-model='value'> <el-option v-for='item in options' :key='item.code' :label='item.label' :value='itrm.value' > </el-option></el-select><el-radio v-model="radio" labe
2022-04-26 15:52:08
6410
2
原创 简易版promise实现
简易版promise实现 const PENDING = 'pending' const RESOLVE = 'resolve' const REJECT = 'reject' class zzPromise { constructor(execution) { let _this = this _this.status = PENDING
2022-04-15 11:20:51
141
原创 深拷贝和浅拷贝
深拷贝和浅拷贝浅拷贝:只复制一层,例如赋值,改变a的同时也会引起b的变化深拷贝:复制多层,改变a不会引起b的变化eg:浅拷贝: let a={x:1,y:2,z:{o:3}} let b=a a.z.o='k6' console.log(b.z.o)//k6深拷贝: let a={x:1,y:2,z:{o:3}} let b=JSON.parse(JSON.stringify(a)) a.z.o='k6' console.log(b.z.o)//3 JSON.stringif
2022-04-14 09:34:03
522
原创 记录_filter中使用for循环出现的问题
filter中使用for循环出现的问题eg:let arr1=[1,2,3,4,5]let arr2=[1,3]const newArr = arr1.filter(item=>{ for (let i = 0 ;i < arr2.length; i++){ return item == arr2[i] }})console.log(newArr)//[1]按我的想法 应该循环10次,但是代码执行了5次,我觉得是因为filter有break效果,所以终止了.正确的写
2022-03-20 09:23:33
678
转载 css calc()属性使用注意点
CSS3 使用 calccalc()使用通用的数学运算规则,但是也提供更智能的功能:>使用“+”、“-”、“” 和 “/”四则运算;>可以使用百分比、px、em、rem等单位;>可以混合使用各种单位进行计算;>表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)"这种没有空格的写法是错误的;>表达式中有“”和“/”时,其前后可以没有空格,但建议留有空格。例如 :设置div元素的高度为当前窗口高度-100pxdiv{hei
2022-01-03 22:17:17
148
原创 绝对路径,相对路径,根路径
绝对路径,相对路径,根路径绝对路径:绝对路径指的是主页上的文件或目录在硬盘上的真正路径.eg:http://localhost:8080/imgs/1.jpg; C:\Users\k6\Desktop\学习笔记相对路径:相对路径是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系.eg: ./user/zhangsan; user/zhangsan根路径:例如C盘、D盘等/users/k6/desktop/学习笔记谨记路径开头写'/' 代表的根路径,不写'/'或者写'./
2021-12-13 15:41:59
1227
原创 ### Null传导运算符
Null传导运算符 ‘?.’编程中,如果需要读取对象内部的某个属性,往往需要判断该对象是否存在,安全的写法为 const fristName = (JSON.parse(window.sessionStorage.getItem('fristName'))&& JSON.parse(window.sessionStorage.getItem('fristName')).body) || 'default'Null传导运算符"?."的写法 c
2021-12-13 10:25:56
617
原创 call apply bind区别
call apply bind区别 function k6 (){ console.log(arguments) console.log(this) } const obj={} k6.call(obj,1,2,3,4,5) // k6.apply(obj,1,2,3,4,5)//报错,apply只能接受两个参数,第二个为数组,要不然报错 k6.apply(obj,[1,2,3,4,5]) k6.bind(ob
2021-12-09 14:54:11
73
原创 map数据结构
map数据结构js 中Object 的 键的只能是字符串,Map可以解决这一问题,键不限类型。可以是复杂数据类型. var map = new Map() const json = { 'k6': 1, 'k7': 2 } map.set(json, 'first')//key可以是一个复杂数据类型 map.set('first', json)//value可以是一个复杂数据类型 ma
2021-12-08 22:10:46
402
原创 前端踩坑记_发请求自动添加localhost前缀;
**问题:**请求是自动添加localhost前缀,如图解决方法:原因:url默认是相对路径,如果写错的话就会拼接当前页面.谨记:一定要吧空格都删掉
2021-11-30 11:28:16
2809
3
原创 render jsx vue动画 animate插件笔记
render jsx vue动画 animate插件学习笔记<template> <div>你好</div> <!-- template比render慢,所以会渲染你好 --></template><script>export default { // render: function (h) { //render函数,createElement实现 // return h( // "div",
2021-11-23 11:09:59
623
原创 v-if&v-show&v-for小知识点
v-ifv-if 是一个指令,必须要在元素上使用;如果想一次渲染多个元素,需要使用vue的<template>元素,最终渲染结果不包含template; eg:<template v-if='ok'> <h1>你好</h1> <p>你好吗</p> <p>我很好</p> </template>注意!!!v-else 必须跟在v-if,或者v-else-if后面 ,中间不能有其他标
2021-11-21 11:12:17
238
原创 vue :class&:style
:class1. <div :class='{active:isActive}' > </div> //动态切换class;2. <div class='box' :class='{active:true,"deactive:false"}' > </div> //可以与静态茶class并存;3. <div :class='classObj' > </div> //可以绑定一个计算属性 computed:{ classO
2021-11-21 11:09:58
362
原创 v-slot 插槽
v-slot 插槽匿名插槽父组件<Children> <h1>我是插槽的内容,我会传递给子组件</h1></Children>子组件<div><slot></slot> //使用vue内置标签slot<slot>我是默认的内容,如果父组件没有传递参数的话,我会显示默认内容</slot> //后备内容</div>//当组件渲染时,h1标签中的内容会替换掉 slot标
2021-11-21 11:05:50
447
原创 vue操作数组,数据改变,视图不更新原因及解决方案
vue操作数组,数据改变,视图不更新原因及解决方案原因:vue实现双向数据绑定的机制是数据劫持,也就是在所有对象上有个Object.defineProperty()方法,通过监听set,get方法去实现,而数组没有这两个方法,所以就不会更新view.解决方案:1.使用 $set() 方法手动设置; $set(targetObj,key,value)//接受三个参数,(目标对象,属性名/index,属性值) eg:$set(list,0,'aaa')//把数组第0项修改为'aaa' 2.使
2021-11-11 15:39:15
2455
原创 axios.all方法
axios.all方法axios.all;axios.spread;作用:解决并发请求;语法:axios.all([fn1(),fn2()]).then((fn1,fn2)={ console.log(res1,res2)//res1为fn1函数的返回值,res2为fn2函数的返回值})该方法是基于promise.all的例子:methods: { fn1(){ return this.$axios.get(`url1`) }, fn2(){
2021-08-11 20:58:50
10106
5
原创 git命令的基本使用
git 团队协作 组员版git init (初始化项目)git remote add origin git@gitee.com:wu-yanzu-shanxi/yicaibao.git (与远端建立连接)git pull origin master(拉取主分支内容)git checkout -b zhuzhigang(建立新分支)正常写代码git add . (把写好的代码添加到暂存区)git commit -m ‘说明’ (吧暂存区内容提交到历史区)git push --set-ups
2021-08-11 17:54:13
79
原创 事件轮循 Event Loop
事件轮循 js是单线程语言,同一个时间只能做一件事情,所有的任务都要排队,前一个任务结束才会执行后一个任务。主线程从任务队列中读取事件,这个过程是循坏不断的,整个读取机制被称为事件轮循。js代码执行机制: 先执行同步代码,遇到异步宏任务把它放到宏任务队列,遇到异步微任务,放到异步微任务队列,同步代码执行完之后,执行异步微任务,异步微任务执行完之后会执行异步宏任务,一直反复,直到任务执行完毕。微任务:promise.then.catch /(await)宏任务:script代码,setTim
2021-08-06 09:31:08
106
原创 computed与watch/methods的区别?
computed和methods的区别?1.计算属性在使用的时候会被当做实例的属性去使用,不需要加括号2.计算属性有缓存依赖,在依赖的数据不变的情况下,计算属性只会执行一次,后续使用缓存computed和watch的区别?1.computed不支持异步,无法监听数据变化,支持缓存2.watch支持异步,不支持缓存3.computed是用于定义基于数据之上的数据,而watch是你想在某个数据变化时做一些事情.什么时候用computed?什么时候用watch?答:当多个属性影响一个值用co
2021-07-28 17:45:59
91
原创 常用es6新特性 笔记
常用es6新特性1.let/const1. let/const 和 var 的区别 1-1. 预解析 => 在预解析的过程中, var 定义的变量会被预解析 => let 和 const 不会, 只能先定义后使用 不会解析 1-2. 重复声明(重名变量) => 使用 var 可以定义两个一模一样的变量, 只是第二次定义没有意义, 赋值有意义 => let 和 con
2021-07-27 20:41:15
126
原创 什么是跨域?,解决跨域问题的方案有几种?
跨域:也叫跨域请求,当触发了同源策略,并且还想拿到人家的数据,我们管触发了同源策略的请求叫跨域请求.同源策略:是浏览器给出的关于网络安全方面的约定,约定请求方和目标方的协议,域名,端口号必须一致,三者有任何一项不满足则触发同源策略,触发了同源策略之后,浏览器不允许你使用带服务器返回给你的数据.解决跨域的方式有:1.jsonp;2.proxy(代理);3.cors(跨域资源共享)...
2021-07-21 21:32:31
145
5
原创 get请求,post请求的区别
get请求:1.偏向于获取;2.传参方式为在地址栏后面拼接;3.大小限制为2kb左右;4.相对不安全。5.数据格式只能是查询字符串post请求:1.偏向于提交;2.传参方式为在在请求体中发送;3.理论是不限制大小;4.相对安全;5.数据格式为任意格式,只需要在请求头上声明。...
2021-07-20 11:51:53
125
原创 强制缓存与协商缓存_笔记
由上图我们可以知道:浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中。缓存分为强制缓存和协商缓存。强制缓存:强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程。分为三种情况:1.不存在该缓存结果和缓存标识,强制缓存失效,则直接向服务器发起请求。2.存在该缓存结果和缓存标识,但该结果已失效,强制缓存失效,则使用协商缓存。3.存在该缓存结果和缓存标识,且该结果尚未失效,.
2021-07-20 08:54:48
316
原创 用户从输入网址,到显示页面,中间发生了什么?
首先把域名通过UDP协议(UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法)发送给DNS(,DNS域名解析系统本质就是一个数据服务器,里面就存储了域名和IP的对应关系)转化为IP地址。有了ip之后就可以建立连接(通过tcp协议,三次握手),发送http请求。发送给服务器之后,服务器处理完数据又返回给浏览器,最后浏览器渲染页面。(断开连接,四次挥手)...
2021-07-19 22:06:22
121
1
原创 数组常用方法复习
// 数组常用方法复习// 1.concat() 连接两个或多个数组,不改变原数组,返回一个新数组,一般用在无限屏 let arr1 = [1, 2, 3, 4, 5] let arr2 = [6, 7, 8, 9, 0] // console.log(arr1.concat(arr2));//[1,2,3,4...0]// 2.copyWithin(target,start,end) 从数组的指定位置复制元素到数组的另一个指定位置let arr3 = ['k6', 'k7', 'k
2021-07-18 19:40:56
110
原创 String.includes
includes :包含String.includes()方法返回一个布尔值,表示字符串是否包含给定的值;eg:var str='风萧萧兮易水寒'; console.log(str.includes(''));//true(’’) 代表的空字符串 ,str 包含很多空字符串,所有为true/!!!谨记谨记!...
2021-07-13 22:43:33
1596
什么是原型覆盖?求解
2021-06-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人