前端
文章平均质量分 86
rambler_designer
这个作者很懒,什么都没留下…
展开
-
Diff算法实现之Snabbdom
一、前言闲着没事逛B站,发现了尚硅谷推出的关于Diff的课程,正好面试种也常问到,就学习了一下。这个课程主要围绕Snabbdom这个库,贴一下视频地址【Vue源码解析之虚拟DOM和diff算法】这篇文章我会根据视频结合自己的理解对Diff过程进行讲解关于代码还是建议看Snabbdom库typescript版本的源码,地址首先要明确,Diff过程就是对新旧两个虚拟节点(VNode)进行比较,从而最小代价对DOM进行修补(patch)和更新二、概述1. 概念上树:在全文和流程图中都表示将虚拟原创 2021-11-03 17:08:34 · 306 阅读 · 0 评论 -
vue+render实现el-table多表头
一、前言又好久没更新文章了。。补一篇,主要分享封装多表头表格和render函数实现多表头表格在公司维护低代码平台,有个需求需要通过拖拽配置一个多表头的表格(element的el-table),但是发现网上好像没什么资料,特别是平台是通过render函数实现的,对这个还不是很熟悉,摸索着写出来了,分享一下二、Render函数代码首先说明一下,用render函数纯粹是为了拖拽组件以及配置字段后之后可以即时预览,真正开发还是使用公用的表格组件这部分代码是公用的,多个组件都用这一个,我稍微改了改原创 2021-10-23 18:49:27 · 1357 阅读 · 0 评论 -
vue组件间通信方式(全)
title: VUE组件间通信方式总结typora-copy-images-to: …/…/article-imagesdate: 2021-09-09 13:13:25update:categories: 前端tags:事件总线vuextop: true一、面试题不用多说,参加过前端面试的小伙伴应该都遇到过,很经典的面试题。下面这些组件间的通信方式不但要会代码实现,还要知道每种方式的优缺点以及适用场景,学会灵活运用。听别人说过一句话,原文忘记了,只记得大概是说:架构师在技术选.原创 2021-09-14 09:38:20 · 205 阅读 · 0 评论 -
正则表达式详解
title: 正则表达式语法详解date: 2021-08-20 17:36:04update: 2021-8-20 17:43:51categories: 前端tags:正则表达式top: false一、前言正则表达式很有魅力,熟练使用正则表达式会让开发更高效,更优雅,同时一些开发工具在搜索和替换时也支持正则表达式,如idea, vscode等等。在你学会正则之前,你只能看着那些正则大师们,写了一串外星文似的字符串,替代了你用一大篇幅的if else代码来做一些数据校验这篇文章.原创 2021-09-14 09:33:22 · 301 阅读 · 0 评论 -
圣杯布局和双飞翼布局
一、前言圣杯布局和双飞翼布局这道面试题我看过很多次了,每一次都以为自己看明白了, 结果一段时间不看还是忘记了,可能是我经历的面试层次太低,没有考到吧。。再就是平时开发中一般没有这种优化要求,用的比较少,今天就再次好好看看并总结如下:二、由来这部分摘自知乎CSS 圣杯布局和双飞翼布局的理解与思考圣杯布局来源于文章In Search of the Holy Grail,而双飞翼布局来源于淘宝UED。虽然两者的实现方法略有差异,不过都遵循了以下要点:两侧宽度固定,中间宽度自适应中间部分在DOM结原创 2021-09-14 09:32:17 · 81 阅读 · 0 评论 -
深入理解跨域及解决方案
一、引言跨域这件事可能是个老生常谈的问题,不光是面试中会高频问道,实际开发中也会经常遇到。今天就来好好探讨一下这个 “万恶” 的跨域吧。为什么我的万恶要加上引号呢,因为并不是完全是坏处,正所谓存在即合理,它的存在必然有它的用处。二、跨域2.1 跨域是什么谈到跨域,我理解的是一种WEB规范,一种标准,个人认为应该叫做跨源,后面会解释因为啥而最常遇到的便是浏览器跨域,因为浏览器在开发时候遵循了同源策略这种WEB规范,所以浏览器会存在跨域。最常见的跨域是主机或者端口不同,也就是你本地启动项目,但原创 2021-09-14 09:30:53 · 146 阅读 · 0 评论 -
原生canvas实现验证码
canvas实现前端验证码功能思路:循环生成随机六位验证码绘制canvas背景绘制干扰点绘制干扰线代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>canvas</title> <style> * { margin: 0; padding: 0; } canvas { dis原创 2021-08-17 11:03:55 · 122 阅读 · 0 评论 -
标准盒模型、IE盒模型以及box-sizing
一、前言实现一个很常规的功能, 鼠标停留出现3个像素的上边框,然而鼠标停留后出现了抖动,审查元素后发现是三个像素撑起了这个元素, 将其余元素向下挤, 才出现了这个抖动,一个比较常用的解决办法是先给元素一个3像素transparent背景的上边框,鼠标停留在将背景色改为其他颜色。这样就不会撑大元素后来又想起来有个box-sizing, 好像也可以做到,于是尝试了一下确实可以,看了一下mdn文档中对于box-sizing的描述, 做一个记录二、正文CSS 中的 box-sizing 属性定义了 use原创 2021-08-12 16:48:33 · 437 阅读 · 0 评论 -
vue导出多页PDF截断问题
一、前言个人网站上线了,欢迎大家访问 苏浩的个人博客使用的第三方:html2canvas 和 jspdf为了一劳永逸(更好的偷懒),做了一个简历修改的页面,将简历信息保存到数据库同时使用html2canvas 和 jspdf导出PDF,但是在导出PDF时却发现文本内容在分页部分被直接截断,经过查阅资料没找到匹配的结果,于是就自己想办法解决吧。二、正文首先是导出PDF的工具方法,直接修改Vue的原型方便调用Vue.prototype.getPdf = function(id, title) {原创 2021-07-10 21:32:33 · 5764 阅读 · 17 评论 -
JavaScript对变量提升的简单理解
1. 变量提升的概念变量提升简单来说就是把我们所写的类似于var a = 123;这样的代码,声明提升到它所在作用域的顶端去执行,到我们代码所在的位置来赋值。2. 变量的提升使用var 声明的变量会被提前到所有代码执行之前console.log(x)var x = 123;上面的代码执行顺序应该是这样var x;console.log(x);x = 123;// 因此打印的内容是undefined,因为x声明了, 但是没有赋值 3. 函数的提升使用函数声明创建的函数会被提前到所原创 2020-07-24 11:49:05 · 187 阅读 · 0 评论 -
JavaScript函数零散知识点
函数声明的三种方式var fun = new Function("return 1+2");console.log(fun()); // 输出3// 第二种方式 (函数声明)function fun2() { return 2 + 3;}console.log(fun2());// 输出5// 第三种函数 (表达式方式声明函数)var fun3 = function(){ return 4 + 5;}console.log(fun3()); // 输出9函数的实参原创 2020-05-29 11:50:15 · 159 阅读 · 0 评论