自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

偷只猫来养的博客

偷只猫来养的博客

  • 博客(47)
  • 收藏
  • 关注

原创 记录使用自定义编辑器做试题识别功能

习惯了将解析写在代码注释,这里就直接上代码啦,里面用到的bxm-ui3组件库是博主基于element-Plus做的,可以通过npm i bxm-ui3自行安装使用// 识别方法:// dom 当前识别数据所在区域, questionType 当前点击编辑选择的题目类型(论述题、简答题要用)export const recognitionMethod = (inputText, dom, questionType) => { // 存一份 let newInputText = in

2024-05-29 11:15:53 470

原创 记录一个截图导出pdf的方法

使用html2Canvas、JsPDF分页导出并,文字/图片导出时被分割问题处理

2024-05-29 10:14:59 441

原创 vue3 el-select懒加载以及自定义指令

在element-plus中,el-select的选项框是使用popper.js生成的,不在body中,无法直接获取,这时需要巧妙地使用popper-class属性来获取到dom并挂载到el-select进行监听来实现我们的需求。在vue3的setup语法糖中,以v开头的变量会被识别为指令,一般指令变量命名使用小驼峰语法。要求:自定义搜索、自定义指令,滚动懒加载每次展示10条数据。

2024-04-16 15:57:13 477

原创 根据给定时间范围获取耗时的方法

【代码】根据给定时间范围获取耗时的方法。

2024-03-07 15:01:01 386

原创 常用的正则表达式

中文、英文、数字、下划线、括号。中文、英文、数字、下划线、括号。

2024-03-07 14:57:45 397

原创 记一下多功能时间处理方法

【代码】记一下多功能时间处理方法。

2024-03-07 14:49:25 391

原创 在vue3中使用el-tree-select做一个树形下拉选择器

el-tree-select是一个含有下拉菜单的树形选择器,结合了 el-tree 和 el-select 两个组件的功能。使用default插槽可以自定义节点内容,它的default插槽相当于el-tree的default插槽。使用:model-value="modelValue"可以在适合用组件时直接v-model绑定值。因为包含了el-tree的功能,我们可以自定义tree的节点,创造出想要的组件。我这里使用的是setup式的语法,当然也可以使用setup()方法。这是我的自定义样式,用的scss。

2024-03-06 16:46:18 2620 2

原创 记录vue遇到的坑

二、由A~Z…AA ~ AZ三、element-ui版本的坑例如在页面中两个input框联动,其中一个输入值后另一个自动填充相同的值使用的@input事件,本地环境很好用但是发布到服务器上之后并没有联动效果或者效果存在延迟,可能是由于element-ui版本的问题,需要在package.json中去处理:1、在依赖中找到element-ui2、将版本前的^改为~修改后不需要重新npm i,可以直接使用,将版本前的^改为~的意思是服务器的element-ui版本不会覆盖他,将使用项目中设置的版本

2022-06-09 14:36:19 215 1

原创 vue中使用静态文件导入方式使用swiper时,从后台获取数据用于轮播loop和autoplay失效!!

vue中使用静态文件导入方式使用swiper时,从后台获取数据用于轮播loop和autoplay失效!!适用于将swiper所在的div封装成组件的情况下在methods中定义一个初始化swiper的方法init_swiper,在mounted中调用:mounted() { this.$nextTick(() => { this.init_swiper(); }); },同时在初始化方法中new Swiper时先使用定时器来保证数据已经获取完毕methods中

2020-11-19 17:43:47 455

原创 Vue的模板语法多种写法

Vue的模板语法在Vue中,{{}}语法属于基础模板语法,往界面上按照普通文本插入文本,还可以再其中插入表达式,比如;<div id = "app"> 年龄:{{stu.age-10}}</div><!--一般情况下,直接使用{{}}--><p> 信息:{{msg}}</p>可以使用多个{{}}来获取数据,但是在一个{{}}中要放多个变量时,不能直接使用","来隔开,要使用模板字符串语法,否则浏览器只会读取最后一个变

2020-08-19 19:46:07 566

原创 v-if&&v-for&&v-show

v-if&&v-for&&v-show(1)v-if:通过删除和添加节点来显示页隐藏节点,是直接操作DOM的指令,当频繁切换节点时,会频繁的造成重排和重绘,导致效率降低,不建议使用它;而在操作节点不频繁的情况,比如说系统权限问题时,比较适合使用v-if,使用的语法如下:<div @click="change"> <button type="button">第一个</button> <button type="button"&g

2020-08-19 19:44:36 1477

原创 Vue事件修饰符都在这里啦

Vue事件修饰符(1).lazy:用于将绑定input框的input事件改为change事件(2).self:对冒泡事件来说,设置了.self时,移入当前元素的子元素不会冒泡到当前元素,但是移入到子元素的子元素时会继续冒泡到子元素,总结来说就是:用于捕获冒泡,即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自然顺序执行触发的事件;对设置了self的本身也是具有冒泡性质的<!--设置一个时,移入子元素不会冒泡到当前元素,但是移入到子元素的子元素会冒泡到当前元素

2020-08-19 19:42:10 486

原创 Vue指令学习看这篇就够了

Vue指令及其使用详解指令:使用"v-*" 开头的语法,遵循标签属性的语法,写在开始标签中,常用的指令如下指令名称作用v-text更新元素的文本内容v-html更新元素的Innerhtmlv-show显示或隐藏元素v-if条件显示v-else条件显示v-else-if条件显示v-for多次渲染函数或模板v-on绑定事件监听器v-bind动态的绑定一个或多个特性到表达式v-model在表单控件或组件上创建双向绑定

2020-08-18 20:02:57 122

原创 如何使用Vue?

如何使用Vue?1、Vue安装:cnpm i vue --save-dev2、Vue常常与webpack一起使用安装了Vue后,在webpack.config.js文件中配置:module.exports = { // ... resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' } }}3、创建vm对象:首先在html页面绑定元素,再贷js文件中实例化Vue对象,并对其进行赋值:html:&lt

2020-08-18 20:00:39 303

原创 Vue基础面试题汇总

Vue基础面试题汇总前端三大框架:Vue、React、AngularVue的特点:① 使用简洁,只需HTML模板加上JSON数据,再创建一个Vue实例即可。② 自动追踪依赖的模板表达式和计算属性。③ 24kb轻量级的运行时库。④ 精确有效的异步批量DOM更新。⑤ 解耦可复用的组件来构建界面。面试题:1、三大框架的区别:Vue:轻量级、单页面、不支持IE8、数据驱动和组件化开发(双向数据)、分层渐进式开发框架、适用于小型项目React:速度快、跨浏览器兼容、单向数据流、兼容性好、数据驱动

2020-08-18 19:56:36 603

原创 Vue-----webpack基础详解

webpack基础详解一、安装:先全局安装,再局部安装:全局:cnpm i webpack webpack-cli -g局部:cnpm i webpack webpack-cli(在创建项目后,在项目目录中)二、使用:1、创建项目:手动或者使用命令创建:mkdir appcd app2、初始化:cnpm init y3、安装:cnpm i webpack webpack-cli --save-dev4、在项目下建src文件夹用于放源代码5、在项目下创建webpack.config.j

2020-08-18 19:53:02 167

原创 Node--egg框架基础(4)----跨域

Node–egg框架基础(4)----跨域域名:以百度为例:https://baidu.com,其中的baidu.com就是它的域名。跨域:通过一个域名访问到另一个域名的东西,它的详细解释如下:1、广义的跨域:(1)资源跳转:重定向、表单提交、a标签链接(2)资源嵌入:link、script、img、iframe等标签以及样式表的url()方法等(3)脚本请求:ajax请求、dom与js对象的跨域操作2、狭义的跨域:相对于浏览器的跨域,因为浏览器的核心功能——同源策略而形成的跨域(同源策略即协

2020-08-05 10:10:11 374 1

原创 Node---egg框架基础(3)--注册账户逻辑

Node—egg框架基础(3)–注册账户逻辑众所周知,目前的大多数后台框架都是基于MVC模式的,egg也不例外,这里讲解一个使用MVC模式做的注册功能,其中涉及到了MVC以及数据库等。首先了解一下什么是MVC:M:模型层——指的是service层,在egg中它是用来处理数据库数据的V:视图层——指的是与用户交互的内容C:控制层——指的是Controller层按照步骤创建好项目,并添加了数据库等配置文件后:1、模型层:const Service = require('egg').Servi

2020-08-03 20:11:35 942 1

原创 Node---egg框架基础(2)--cookie

Node—egg框架基础(2)–cookiecookie可以用来保存数据,比如登录的用户信息,当登录后一定时间内再次打开网页,可以不用再次登录。cookie的设置:let d = new Date();//获取当前时间d.setTime(d.getTime() + 10 * 1000);//设置从当前时间开始算30分钟let t = d.toGMTString();//转换为格林威治时间格式document.cookie = "name = '小王'";//设置cookiedocument.c

2020-08-03 19:49:13 267 1

原创 Node---egg框架基础(1)

Node—egg框架基础(1)egg:为企业级框架和应用而生 ,可以降低开发和维护成本,遵循约定优于配置 ,按照统一的约定来进行项目开发。egg框架约定的目录结构:egg-project├── package.json├── app.js (可选)├── agent.js (可选)├── app| ├── router.js│ ├── controller│ | └── home.js│ ├── service (可选)│ | └── user.js│

2020-08-03 19:46:20 3011 2

原创 Node.js——如何使用Node.js?

如何使用Node.js?

2020-07-31 19:19:05 486 2

原创 Node.js——Node.js如何安装?

Node.js如何安装?

2020-07-31 19:10:13 146

原创 MySQL中sql语句的应用

MySQL中sql语句的应用题目:(1)定义scor表和student表(2)在表中添加数据(3)查询student表的所有数据(4)查询student表的第2-4条记录(5)从student表中查询所有学生的学号(id)、姓名(name)和院系(department)的信息(6)从student表中查询计算机系和英语系的学生的信息(7)从student表中查询年龄18~22岁的学生信息(8)从student表中查询每个院系有多少人(9)从score表中查询每个科目的最高分(10)计算

2020-07-28 19:05:05 1852 2

原创 MySQL基础及sql语句

MySQL基础MySQL数据库开源免费,能够跨平台,支持分布式,性能也不错,可以和 PHP、Java 等 Web 开发语言完美配合,非常适合中小型企业作为 Web 数据库(网站数据库),其中数据存储在硬盘中一、关键字:关键字: 某字段或者多个字段能够唯一标识一条记录主关键字: 某一个关键字能够唯一标识一条记录候选关键字: 除了主键之外的其他关键字外键: 值为其他表的主键值,可以为空但不能重复(一对一关系不能重复,一对多关系可以重复)二、范式:遵守级别越高,冗余度越低第一范式: 字段不能再

2020-07-28 18:44:23 949 3

原创 map和parseInt

map和parseInt一、map1、map的参数Array.map(callback, thisIndex):callback(currentValue, index, arr):currentValue:必要参数,表示当前元素的值index:当前元素在数组中的索引,可选arr:当前元素所属的数组,可选thisIndex: 可选参数,回调函数的this或者对象的this2、map的特点:不会改变原数组,返回的是经过回调函数处理的新数组在回调函数中必须返回currentValue

2020-07-22 19:15:12 651 1

原创 JS--树、二叉树(深度优先、广度优先遍历、平衡树旋转)

JS–树、二叉树一、树结构和特点1、树结构树由节点组成,从根节点出发,每个节点可以拥有子节点,没有子节点的节点叫做叶子节点。节点的度:节点拥有子节点的个数,度为0表示叶子节点树的高度:从根节点开始计算(1开始)到叶子节点,一共拥有的层数树的度:树中所有节点中最大的节点度树中特殊的计算:一个二叉树第 i 层的最大结点数为:2^(i-1), i >= 1;深度为k的二叉树有最大结点总数为: 2^k - 1, k >= 1;对任何非空二叉树 T,若n0表示叶结点的个数、n2是度

2020-07-20 20:00:51 1034

原创 JS--学习集合和字典及数组去重、交集、子集、并集、差集等

JS–学习集合和字典一、集合1、集合的组成集合元素可以由不同类型的数据组成,但是元素不能重复2、集合封装 class MySet { constructor() { this.item = {}; } add(element) { //元素不能重复 if (!this.hasOwn(element)) { this.item[element] = element; retu

2020-07-20 11:04:05 739

原创 JS--学习链表以及单链表合并、翻转、两两交换节点位置、单向链表和单向循环链表实现约瑟夫环问题等

JS–学习链表一、链表结构1、单向链表2、双向链表3、单向循环链表4、双向循环链表5、链表与数组数组:js中数组中可以存储不同数据类型的数据,查找元素很方便(随机访问),可以根据下标快速查找;但是删除、添加都比较复杂,会是数组中元素移动。链表:查找数据不如数组方便,但是删除、插入等操作时会比较迅速,因为链表不需要移动多个元素,使用指针直接将元素添加进来或删除掉,但是空间会有部分浪费(使用部分空间存储指针,以空间换时间)二、封装链表1、单向链表class NodeOne {//每

2020-07-20 10:52:17 319

原创 js学习队列以及使用队列实现约瑟夫环问题

js学习队列一、队列结构队列只允许在一端插入另一端删除,是一种先进先出(FIFO)的线性表。队列中插入端为队尾,删除端为队头。二、封装队列1、以数组封装队列(类) class Queue{ constructor(){ this.item = []; } enQueue(element){ this.item.push(element); } deQueue(){ return this.item.shif

2020-07-20 09:12:10 330

原创 js学习栈以及使用栈实现约瑟夫环问题

js学习栈一、栈的结构栈是常用的数据结构,遵循先进后出或后进先出的原则(LIFO),结构如下:只能在一端进行插入和删除操作,即栈顶,另一端成为栈底;向栈中添加一个元素成为进栈或压栈,从栈顶删除一个元素成为出栈或弹出栈。函数调用栈:通过函数的形式形成栈方式的调用 function A(){ B(); console.log('A已执行完'); } function B(){ C()

2020-07-20 09:02:40 536

原创 JS——canvas基础及其应用

JS——canvas及其应用一、canvas基础canvas——画布:canvas本身没有外观,只是一个画板IE9以前不支持canvas不要使用css来定义大小,要直接使用自身的属性width、height来设置并且不带单位可用getContext()方法来返回一个画笔...

2020-07-09 19:39:15 1084

原创 JS动画及获取文字

JS动画及获取文字一、获取选中的文字使用window.getSelection().toString()方法来获取选中的文字,在选中文字鼠标松开后会获取到选中的文字: <p>可以选中一些文本</p> <script type="text/javascript"> let selected = window.getSelection().toString(); console.log(selected); if(selecte

2020-07-07 09:08:03 553

原创 JS——表单操作及select多级联动下拉列表

JS——表单操作一、获取表单元素1、获取页面所有表单元素:document.forms使用document.forms返回的是一个HTMLCollection数组,数组的元素是form,有多少个form就有多少个元素,每个元素是一个类数组,其中包含了当前表单中的所有元素及其对应的属性。 <form> <input type="text" /> <input type="password" /> <input t

2020-07-05 14:43:35 3133

原创 JS——BOM相关对象

JS——BOM一、BOM简介二、window三、Location四、Navigator五、history

2020-07-02 16:37:29 234

原创 js标准事件模型、事件注册的几种方法及其区别、事件委托机制

js事件注册的几种方法及其区别

2020-07-01 11:37:39 861

原创 DOM节点及其相关操作的函数

DOM节点及其相关操作的函数DOM:文档对象模型1、查找节点document.getElementById(‘id’):返回指定id的元素节点,不可以链式调用<div id = 'box'></div><script> let box = document.getElementById('box');</script>document.getElementsByClassName(‘class’):返回指定class属性的元素节点

2020-07-01 08:44:19 983

原创 JS——ES6 class类和继承及其实际运用

JS——ES6 class类和继承1、类的定义2、类的构造函数和其他属性3、类的继承

2020-06-23 19:08:42 1511

原创 JS ES6匿名函数和箭头函数

ES6匿名函数和箭头函数1、匿名函数2、箭头函数

2020-06-23 11:33:30 5637

原创 ES6——let、const及其使用

ES6——let、const1、let(1)Es6中新的声明变量的关键字let,使用let声明的变量保存在数据段中,它不是一个真正的全局变量,当先使用后声明时,会报错;(2)let与var的区别:关键字说明let保存在数据段中,使用变量名字访问,必须先声明后使用var保存在堆中,通过变量名字访问或者window.x访问,可以先使用后声明,未声明时使用其值为undefined(3)在实际开发中:先声明后使用,多用let少用var,不要使用变量提升,let不出块而v

2020-06-23 10:17:43 141

原创 JavaScript正则表达式及其使用

JavaScript正则表达式及其使用

2020-06-23 09:20:59 252

空空如也

空空如也

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

TA关注的人

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