- 博客(30)
- 收藏
- 关注
原创 vue+qiankun -- 多tab标签页切换缓存
组件开启keep-alive,由于keep-alive只能支持二级及以下路由,对于三级及以上路由,keep-alive失效,所以需要对keep-alive重新封装,并且在qiankun提供的生命周期钩子update里调用子应用删除缓存的方法 用于清除子应用组件keep-alive缓存。删除tab时是子应用并且在tablist中是否还有子应用菜单,如果没有,则unmount方法卸载子应用,如果有子应用菜单,则执行update方法清除该子应用的组件缓存。主子应用都使用vue,路由统一使用history模式。
2024-04-09 22:00:00 966
原创 vue2项目 有关安全问题
好久没写博客了,最近客户提出我们项目出现的一系列安全问题,我觉得值得我去抽时间去把客户提出的安全问题以及解决方案整理一下以便记忆。
2023-07-20 16:00:05 476
原创 el-select 性能优化
el-select优化,为了解决大数据量的情况下出现的性能问题(数据量太大,导致渲染过慢,造成页面卡顿甚至于卡死)
2023-01-11 17:33:26 3163 3
原创 el-select切换根据id筛选出匹配数据
onSelectedServeName(e) { let obj = {}; obj = this.listoptions.find((item)=>{ return item.id === e;//筛选出匹配数据 }); this.addErrorForm.serverName = obj.name;},
2022-02-11 14:44:15 655 1
原创 el-table 序号列(某列)加个背景色
:cell-style="cellStyle"cellStyle({row, column, rowIndex, columnIndex}){ if (columnIndex === 1) { return 'background:#FFF8DC' } else { return '' } }这样展示的结果比如:这时想让头部的序号也同样加背景色::header-cell-style="rowClass"rowClass({ row, c
2022-01-25 14:31:54 1099
原创 DateTimePicker 日期时间选择器设置默认时间
想要效果:vue中设置方法:mounted() { this.defaultDate();},methods: { defaultDate() { this.emailQueryStrS = ''; this.emailQueryStrE = ''; const myDate = new Date(); const time = '00:00:00'; const year = myDate.getFullYear(.
2022-01-21 17:29:03 3311
原创 在vue中使用element-ui,有关两个表单同时验证。
1.一个表单的情况下:提交事件submitCopyForm('form')submitCopyForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { } else { return false; } });}2.当我多于一个表单的时候,最好的解决方法就是使用Promise.allasync confirm
2021-11-11 13:41:26 2058
原创 有关一个面试题的思路
面试官问:假如一个页面需要加载10万条数据,有什么方法?其实可以这样理解:假设有一个非常耗时的逻辑,代码逻辑已经最优了前提下要你优化,你有哪些办法?(考察WebWorker)Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。1.主线程采用new命令,调用Worker()构造函数,新建一个 Worker 线程。主线程调用worker.postMessage()方法,向 Worker 发消息主线程通过worker
2021-10-24 22:36:53 59
原创 网易前端面试题
1.在created和mounted这两个生命周期中请求数据有什么区别呢?放在mounted请求有可能导致页面闪动(页面dom结构已经生成)。面试官问还有没有其他的区别,实在想不到啊,欢迎评论区大佬给补充2.一个页面中有两个组件,这两个组件请求后台返回的数据一模一样,如何实现让这两个组件只请求一次?3.data中的数据和computed数据有什么区别,computed里面能修改data数据吗?有什么影响?4. 后台返回一个数组,这个数组值假设非常大,如何展示数据?5. 一个计算属性能调用另外一个计
2021-10-13 17:21:54 303
原创 js中转布尔值
任何对象转为布尔值,都得到 true([ ]和{ }也是对象),切记!在 JS 中,只有0-0NaN’ ’nullundefined这六个值转布尔值时,结果为 false
2021-09-17 23:19:16 72
原创 面试官老问深克隆和浅克隆
1.浅克隆比如我们定义一个变量,然后我们把它赋值给另外一个变量,另外一个变量只是之前变量的一份拷贝,前后两个变量的存储地址是公用的,对象,数组,函数等这些拷贝的是地址,数字,字符串,布尔值这些拷贝值。function shallowClone(obj){ if (obj == null) { return null } let cloneObj = {} for (let i in obj) { cloneObj[i] = obj[i] }
2021-09-16 19:11:23 84
原创 闭包的使用场景
1.函数防抖functiondebounce(fn){ lettimeout=nullreturnfunction(){ clearTimeout(timeout) timeout=setTimeout(()=>{ fn.apply(this,arguments)},500) }}2.函数节流function throttle(...
2021-09-10 15:38:56 59
原创 vue动态获取数据让最后一条数据展示在页面中
相当于模拟一个聊天的窗口,新增的一条数据总是显示在屏幕中scrollToBottom { this.$nextTick(() => { let container = thid.$el.querySelector('.page-content') containter.scrollTop = containter.scrollHeight })}...
2021-08-27 15:46:32 874
原创 vue开发中touch事件,flat方法遇到的问题
1.touch方法既想传参,又想用event@touchend=“gotouched(item, $event)”调用时gotouched(item, event){//event.target真的很有用event.target.className(’’)//获取事件点击节点的类名,真的很有用,我开发遇到的情况是一个列表的一条数据点击时跳转到结果页面,这个数据中包含一个小图标用来执行其他事件,这样获取到类名就可以区分了,点击到小图标时不跳转。}2.flat方法本来用flat方法给数组进行扁平
2021-08-27 15:34:47 407
原创 touchstart、touchmove、touchend关于兼容性问题
最近在开发一个有关语音方面的项目,需要判断用户是否长按如何长按就进行下步操作,向上滑动可以取消,然后发现我在touchstart事件中写的代码在mate20 p7不会触发,这就很让人头大。然后就开始想解决方法。最后就抱着试试的心态放到了touchmove中,在touchmove中本来只做了一个是否取消录音的判断,然后我把代码片段复制了一份放到没有取消录音的判断模块中,发现可以,谁有更好的解决方法欢迎留言哦touchstartlet touch = event.targetTouches[0]this.
2021-08-12 10:24:57 534 1
原创 Node.js之模块
1.全局模块(对象)process何时何地都能访问,不需要引用。eg: process.env(环境变量 ,可以用来判断是开发环境还是生产环境)process.argv2.系统模块需要require(),但不需要单独下载eg:path:用于处理文件路径和目录路径的实用工具fs:用于文件读写操作3.自定义模块...
2021-08-04 22:00:10 63
原创 有关TS中的类(Class)
1.使用class创建类,接口实现用的关键词implements,比如定义了一个接口IPoint(用关键字定义interface),类Point,可以写成classPoint implementsIPoint{}2.对象object,class类,instance实例对象是类的实例,就是类(class)用new关键词实例化以后就产生了对象,对象也被称为实例instance3.构造函数可以初始化class里面的变量(TS中使用构造函数要用到关键词constructor),通过构造函数可以在初始..
2021-08-01 00:52:20 1122
原创 TS元祖(Tupple)需要注意
元祖是固定长度,固定类型的。1.元祖使用中的一个bug(使用 .push 可以突破元祖的界限)eg: let person: [number, string] = [01,"张三"]person.push(3)(这样写idea不报错,编译也能通过),但是元祖本身定义了两个元素,现在输出了3个元素2.在声明元祖的时候,一定要指明数据类型。...
2021-07-29 23:47:20 1622
原创 css设置两张背景图片
css设置背景图,想实现的效果是左边一张图大概占整个屏幕的50%,右边右上角有一张图片大概占屏幕的20%。body {background:url("") no-repeat left bottom , url("") no-repeat right top;background-size: 50% auto, 20% auto;}...
2021-07-29 14:41:02 1686
原创 有关Js跨域
1.CORSCORS(Corss-Origin Resource Sharing,跨资源共享),基本思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应的成功或失败,即给请求附加一个额外的Origin头部,其中包含请求页面的源信息(协议、域名和端口),以便服务器根据这个头部决定是否给予响应。2.document.domain将页面的document.domain设置为相同的值,页面间可以互相访问对方的JavaScript对象。注意:不能将值设置为URL中不包含的域;
2021-07-23 22:40:08 57
原创 flash和js通过什么类进行交互?
Flash提供了ExternalInterface接口与JavaScript通信,ExternalInterface有两个方法,call和addCallback:ExternalInterface.addCallback("在js里可调用的flash方法名",flash内方法) //在flash中通过这个方法公开 在js中可调用的flash内的方法; ExternalInterface.call("js方法",传给js的参数) //在flash里调用js里的方法...
2021-07-23 00:15:54 318 1
原创 TS基础类型有哪些?
数字,字符串,布尔,undefined,数组,元祖,联合,枚举,any,unknow,void,NeverJs基础数据类型:数字,字符串,布尔,undefined,null
2021-07-21 23:28:38 409
原创 TS相比JS有哪些优点,为什么作为前端开发人员要学习TS
更可靠:TS引入类型定义和编译器,可以避免JavaScript大多数runtime错误,更可靠,易维护; 更清晰:TS中显式类型声明可以提升代码可读性,代码校验可以全部交给编译器负责;更广泛:TypeScript是JavaScript的超集,可以在TypeScript代码中混合使用任何JavaScript库和代码。...
2021-07-21 23:18:09 4593 1
原创 开发中关于使用display: inline-block导致div不在同一条水平线上
我遇到的问题是好多个div并列排列,并且每个div中都有子元素,假如第一列div是 5行,第二列div 6行,第二列多出来的一行会让两列div头部不在同一个水平线上,导致这种情况原因是基线没有对齐,加上vertical-align: top;即可解决说实话刚开始根本不知道是因为display:inline-block造成的,至于如何发现是自己慢慢的调试出来的,这样解决问题的时候印象比较深刻...
2021-07-21 22:27:46 1081
原创 小记
这一题简直印象不要太深刻,以前想跳槽然后一个面试官问的问题,直接当场懵逼,what?我那时发现了自己存在的问题,好多东西会用但是不知道总结,就导致感觉基础知识比较薄弱,所以决定以后尽量多去总结一下,这样不至于自己会的而答不出来。1.画一条0.5px的直线...
2021-07-19 00:39:24 82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人