
js
wytraining
平平无奇的前端搬砖小能手~
展开
-
用原生js实现tooltip的功能
用原生js实现tooltip的功能原创 2023-07-20 16:07:14 · 1085 阅读 · 1 评论 -
lottie-web 前端动画类库的使用
lottie-web 前端动画类库的使用原创 2023-02-17 21:30:36 · 2538 阅读 · 0 评论 -
iview实现表格的expand和编辑功能
iview表格实现的编辑和expand功能原创 2022-09-08 11:49:32 · 1940 阅读 · 0 评论 -
iview表单校验文件的必填
1.问题描述iview中使用form组件来校验各个字段的必填项,其中在校验文件时,即使文件已上传成功,依旧提示“请上传文件!”2.重点在formValidate.file中定义一个validator的方法文件上传成功后,清除对文件必填项的校验:this.$refs.formRef.validateField('file') 3.解决方案1.html:<Form ref='formRef' :model='resultForm' :rules='formVali原创 2022-05-07 18:48:39 · 1972 阅读 · 0 评论 -
采用微前端来实现新老技术的兼容问题
1.什么是微前端?微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将web应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。微前端不是单纯的前端框架或者工具,而是一套架构体系。2.微前端架构具备的核心价值技术栈无关:主框架不限制接入应用的技术栈,微应用具备完全自主权独立开发、独立部署:微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新增量升级:在面对各种复杂场景时,我们通常很难对一个已经存在的系统做全量的技原创 2022-04-20 16:09:34 · 949 阅读 · 0 评论 -
MyPromise的实现
1.实现一个MyPromisefunction resolvePromise(promise2,x,resolve,reject){ //判断x是不是promise //规范中规定:我们允许别人乱写,这个代码可以实现我们的promise和别人的promise 进行交互 if(promise2 === x){//不能自己等待自己完成 return reject(new TypeError('循环引用')); } // x是除了null以外的对象或者函数原创 2022-04-15 14:46:17 · 226 阅读 · 0 评论 -
vue实现滚动加载
vue实现多个场景下的滚动加载原创 2022-01-17 17:20:00 · 13188 阅读 · 4 评论 -
常见的表单校验
form表单的校验<Form ref='drawerForm' :label-width='80' :rules='formValidators' :model='info'> <FormItem label='单位名称:' prop='name' > <Input v-model.trim='info.name' clearabl原创 2021-11-16 11:15:04 · 1405 阅读 · 0 评论 -
重学前端——大纲
原创 2021-07-31 17:38:24 · 95 阅读 · 0 评论 -
class类
类中的构造器constructor不是必写的,要对实例进行初始化的操作,如添加指定属性时才写如果子类继承了父类,且子类写了构造器,那么子类构造器中的super是必须要调用的,且要放在最前面类中定义的所有方法,都是放在了类的原型对象上,供实例去使用 // 创建一个 Person 类 class Person { // 构造函数 constructor(name, age) { // 构造函数中的 this 是谁? ———— 类的实例对象 th.原创 2021-05-16 23:15:09 · 77 阅读 · 0 评论 -
知识梳理——JavaScript
1. 说说前端中的事件流HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件onclick、页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件。想要知道这些事件是在什么时候进行调用的,就需要了解一下“事件流”的概念。什么是事件流:事件流描述的是从页面中接收事件的顺序.DOM2级事件流包括下面几个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段addEventListener:addEventListener 是DOM2 级事件新增的指定事件处原创 2021-03-14 15:18:48 · 1451 阅读 · 4 评论 -
跨域的解决方案:nginx
一:解决方案1、 通过jsonp跨域2、 document.domain + iframe跨域3、 location.hash + iframe4、 window.name + iframe跨域5、 postMessage跨域6、 跨域资源共享(CORS)7、 nginx代理跨域8、 nodejs中间件代理跨域9、 WebSocket协议跨域二:使用nginx代理跨域实践中客户端无法直接跟服务端发起请求的时候,我们就需要代理服务。代理可以实现客户端与服务端之间的通信,我们的Ngi原创 2021-03-02 11:45:26 · 5665 阅读 · 0 评论 -
this
1.this原文如果要判断一个函数的this绑定,就需要找到这个函数的直接调用位置。然后可以顺序按照下面四条规则来判断this的绑定对象:由new调用:绑定到新创建的对象由call或apply、bind调用:绑定到指定的对象由上下文对象调用:绑定到上下文对象默认:全局对象注意:箭头函数不使用上面的绑定规则,根据外层作用域来决定this,继承外层函数调用的this绑定。2.call、apply、bind原文三者都是用来改变函数的this指向三者的第一个参数都是this指向的对象bin原创 2021-02-03 15:45:40 · 144 阅读 · 0 评论 -
前端在页面中屏蔽”f5刷新键“和 ”f12键“
前端在页面中屏蔽 f5刷新键 和 f12键: created() { document.onkeydown = function (e){ var e = e || event; var nums = [116,123]; //f5:116 f12:123 for...原创 2019-11-04 11:42:20 · 1071 阅读 · 0 评论 -
JavaScript的事件循环(Event Loop)
一:任务队列所有任务可以分为两种:一种是同步任务,另一种是异步任务。同步任务:在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。异步任务:不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。二:JavaScript的运行机制(1)所有同步任务都在主线程上执行,形成一个执行栈。(2)主线程之外,还存在一个“任务队列”。只要异步任务有了运行结果,就在“任务队列”之中放置一个事件。(3)一旦原创 2020-10-29 13:58:09 · 416 阅读 · 1 评论 -
深浅拷贝
1.浅拷贝赋值运算符 “ = ” 实现的是浅拷贝,只拷贝对象的引用,而未复制真正的值。(两个值之间会相互影响)2.深拷贝深拷贝就是对目标的完全拷贝,不像浅拷贝那样只是复制了一层引用,就连值也都复制了。(只要进行了深拷贝,它们谁也不会影响谁)2.1递归:利用递归来实现每一层都重新创建对象并赋值deepClone(source: any){ const targetObj = source.constructor === Array ? [] : {}; // 创建对象:并判断复制的目标是原创 2020-10-16 15:48:11 · 136 阅读 · 0 评论 -
iview 文件的上传和下载
一:上传文件1.html//action: 上传的地址,必填//data: 上传时附带的额外参数//on-success: 文件上传成功时的钩子,返回字段为 response, file, fileList<Upload :action= "env + '/Manage/upload'" :data="{companyId: row.ID}" :on-success="success"> <原创 2020-08-27 16:06:30 · 2653 阅读 · 0 评论 -
前端登录页面中密码传参通过 base64加密
DocumentjQuery.base64 = ( function( $ ) { var _PADCHAR = “=”, _ALPHA = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+...原创 2019-09-01 22:44:00 · 2449 阅读 · 0 评论 -
promise
PromisetestPromise() { return new Promise(function (resolve, reject) { //做一些异步操作(可以是一个post请求) setTimeout(function () { console.log('执行!'); console.log('1')...原创 2020-01-07 17:42:29 · 116 阅读 · 0 评论 -
js中的定时器
每隔五秒打印 0-10var index = 0;setInterval(function () { //如果大于10, 则重新赋值为0 if (index > 10) { index = 0 } console.log(index); index++;}, 5000);每隔五秒 调用一次后台接口window....原创 2019-12-27 13:47:29 · 6728 阅读 · 1 评论 -
数组的常用方法
1.尾部push:推入var arr = [5,45,2,1];arr.push(10,20);console.log(arr); // [5, 45, 2, 1, 10,20]pop:删除数组的最后一个元素,并返回最后一个元素的值var arr = [5,45,2,1];arr.pop();console.log(arr); // [5, 45, 2]2.头部unsh...原创 2019-12-17 18:44:32 · 205 阅读 · 1 评论 -
前端数组去重
利用 indexOfvar arr = [1,2,3,4,2,3,4,2,1,5];var arrNew = []; //定义一个新的空数组for (var i = 0; i < arr.length; i++) { if (arrNew.indexOf(arr[i]) === -1) { arrNew .push(arr[i]); }}...原创 2019-12-16 17:27:22 · 1216 阅读 · 0 评论 -
前端使用 for in 进行对象的遍历
对象:var test = { name : "zs", age: "18"}1.前端遍历某个对象:使用for in1.遍历属性名for(key in test) { console.log(key);}2.遍历属性值for (key in test) { console.log(test[key]);}注:遍历时,只能通过 test[value] 来...原创 2019-12-16 17:14:33 · 7161 阅读 · 0 评论