自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 React16中打印事件对象取不到值的现象及其原因分析

Inputplaceholder="请输入"}}/>以这段代码为例,当我们在输入框中输入值的时候,先后触发了这两句代码的执行。在执行第一个时,由于e是个对象,根据的机制,此时将得到该对象的引用;在执行第二个时,由于并不是对象,此时直接得到这个值。接着等到我们打开控制台时,由于此时的事件对象e已经被事件对象池回收了,因此打印出的第一项e中的各个成员信息都是空的,而第二项中的并不是对象,因此能直接打印出它的值。

2023-11-23 10:50:37 652

原创 LeetCode刷题<1>:两数之和、两数相加、无重复字符的最长子串、最长的回文子串、删除链表的低N个结点、合并两个有序链表

这个重难点在于最后的进位操作容易被忽略。这个的重难点在于如何判断重复的数组。

2023-05-23 12:21:14 151

原创 Pinia

pinia相比于vue2中的vuex,pinia的使用更加的简洁方便,和vue3有着非常贴切的结合。

2023-05-21 16:43:06 192 2

原创 TypeScript 与 vue3 的结合

知道:TS类型声明文件是什么以及作用项目中安装的第三方库里面都是打包后的JS代码,但是我们使用的时候却有对应的TS类型提示,这是为什么呢?在第三方库中的JS代码都有对应的TS类型声明文件什么是类型什么文件?通俗地来讲,在 TypeScript 中以 .d.ts 为后缀的文件,我们称之为 TypeScript 类型声明文件。它的主要作用是描述 JavaScript 模块内所有导出成员的类型信息。.ts文件.d.ts文件作用是啥?既包含类型信息又可执行代码可以被编译为 .js 文件,然后,执行代码。

2023-05-21 16:35:52 169

原创 TypeScript -- ts的编译、类型注解、数组类型、联合类型、类型别名、函数类型、对象类型、接口类型、字面量类型、类型推断、类型断言、泛型、any类型

TypeScript相较于JavaScript来说,是在js的基础上进行了制约,对原先是弱类型语言的js的类型做出约束。TypeScript不能直接使用,需要经过编译,事实上我们最终打包后的代码任然是JavaScript,但ts能在我们开发阶段更有效地帮助我们解决一些bug,提高我们的开发效率。

2023-05-20 11:14:30 965

原创 vue3基础 -- vite、组合式api、setup、reactive、ref、computed、watch、生命周期函数、ref获取dom和组件、组件通信

vue3和vue2相比,总体上感觉变化不是特别大,一些核心的知识体系基本上是互通的,加上vue3向下兼容的特性,上手起来还是比较容易的。

2023-05-19 11:55:54 734

原创 13.人力资源管理项目 -_权限管理==>Tree树形控件、权限点分配、数据闪现问题、addRoutes、权限页面、权限按钮

Tree树形控件show-checkbox 显示选择框,default-expand-all 默认展开el-Tree获取和设置选中节点各有两种方式:通过 node 或通过 key。如果需要通过 key 来获取或设置,则必须设置node-key。权限分配-解决数据闪现问题:方案 1:让弹层隐藏时,把子组件销毁: 优点:简单、- 缺点:销毁组件,有一定性能问题;方案 2:在父组件中点击分配角色时,直接先清除子组件内的默认权限id额数组。这个同时也帮我解决了之前在员工页面中给员工分配角色时的数据闪现问题

2023-05-16 14:42:37 128

原创 12.人力资源管理项目 -_角色管理==>RBAC 设计思想、 组间通信、 数据铺设、默认选择、checkbox、 组件通信 、自定义校验

当页数不确定时如何获取所有页面的数据==>>先随便发一次请求,然后利用第一次请求返回的数据中的total确定总页数。父传子时,通过watch监听props中的值的变化,给子组件中data的值进行实时赋值,便可以实现子组件data中的数据与父组件的传值实时绑定table 表格组件支持树类型的数据的显示,当 row 中包含 children 字段时,被视为树形数据。渲染树形数据时,必须要指定 row-key,row-key的值, 类似v-for的key值, 内部会开始尝试使用.children来决定是否

2023-05-15 08:45:00 113

原创 11.人力资源管理项目 -_角色管理==>RBAC 设计思想、 组间通信、 数据铺设、默认选择

当页数不确定时如何获取所有页面的数据==>>先随便发一次请求,然后利用第一次请求返回的数据中的total确定总页数。父传子时,通过watch监听props中的值的变化,给子组件中data的值进行实时赋值,便可以实现子组件data中的数据与父组件的传值实时绑定

2023-05-14 17:17:08 69

原创 10.人力资源管理项目 -_员工详情==>页面和路由、布置个人详情、图片存储、腾讯云cos申请、图片上传组件Upload的二次封装、图片上传进度条、全局图片组件

在创建页面和路由时,千万要记得加上hidden属性,不然会产生二级菜单。在布局个人详情时,之前我们遇到的表单大多是竖着排列的,而这一次分成了左右两列。我们可以通过element-ui中Layout布局中的el-row和el-col来实现这种布局,将每一行用el-row隔开,然后再在el-row中等分el-col(设置:span=12,因为总共为24分,设置12即为平均等分)。在个人详情布局页面中,发现了一个bug,那就是聘用形式无法回显,即更改后虽然在调试工具中显示值已经变化,但是页面中却并没有变化

2023-05-12 20:55:02 83

原创 09.人力资源管理项目 -_Excel导入导出==>文件上传方式(前端主导、后端主导)、从路由出发寻找组件代码、注册全局组件、内容格式化、导出实现、导出顺序问题

09.人力资源管理项目 -_Excel导入导出==>文件上传方式(前端主导、后端主导)、从路由出发寻找组件代码、注册全局组件、内容格式化、导出实现、导出顺序问题

2023-05-10 12:21:28 458

原创 08.人力资源管理项目 -员工管理==>弹窗组件封装、部门选择树形控件、输入屏蔽、表单数据重置、dayjs优化时间渲染、删除功能中分页异常的处理

在弹窗准备的工作上,这里与组织架构处一致,我们任然将其独立出来成子组件,主要不要忘记对组件进行注册,然后在控制dialog的显示隐藏上使用一个变量来控制,再利用子组件中的‘确认’和‘取消’两个按钮通过.sync的方式来快速传值空值对话框的显示和隐藏。添加员工的表单校验功能:重点在校验的几个属性 ref,model,rules,prop, 其中ref用于获取dom对象已经表单的兜底校验,model用来绑定表单数据,rules则是表单的校验规则,这些都要写在el-form中;而prop则是对应model绑定

2023-05-06 15:45:49 176

原创 07.人力资源管理项目 -员工管理==>头部组件封装、全局注册、Vue插件(Vue.use)、数据渲染、格式化formatter、表格table排序

这一次从PageTools组件的封装的着手,既帮忙复习了组件注册的不同方式又拓展了对vue插件的使用方法以方便维护main.js文件;在分页组件Pagenation中,只实现了标签创建和点击的事件触发和回调, JS中的数据逻辑包括请求都需要自己写;table表格可以通过formatter进行格式化,值得注意的是,formatter方法有一些自带的参数,但经过我的实际使用,发现其中的cellValue有时候是Number类型的,有时候是String类型的,这个一开始折磨了我半天,不过解决方法也很简单,

2023-05-05 00:08:04 307 1

原创 06.人力资源管理项目 -角色管理==> 静态页面搭建、表格数据铺设、渲染公司信息数据、添加角色、编辑角色、删除角色、分页功能

这个模块的功能还是比较好实现的,主要还是一些调用借口的增删改查,和之前组织架构的内容相比相差不大

2023-05-03 21:35:18 265

原创 05.人力资源管理项目 -组织架构==> 添加子部门、编辑部门、数据回显、删除部门、清空表单、表单校验、添加编辑时的非重检验

中间有一个地方卡了我快一晚上,折磨的要死,搞来搞去搞得我还以为接口坏了。其实本质就是一个执行顺序的问题,讲道理应该用async和await能很容易的实现,但是涉及到多个组件之间对同一份数据的执行顺序问题,还是比较麻烦。最后比较理想的解决方案是–>拷贝一份新的数据传入其他组件

2023-04-25 22:36:59 178 3

原创 JS数据结构与算法==>排序算法 -- 冒泡排序、选择排序、插入排序、希尔排序、快速排序

不过如果需要对包含复杂对象的数组进行排序(对包含people对象的数组按age属性排序),我们的算法也可以奏效。和归并排序一样,快速排序也使用分而治之的方法,将原始数组分为较小的数组(但它没有像归并排序那样将它们分割开)。注意当算法执行外循环的第二轮的时候,数字4和5已经是正确排序的了。第二步,按照顺序,将每个元素与"基准"进行比较,形成两个子集,一个"小于45",另一个"大于等于45"。下面的示意图展示了选择排序算法,此例基于之前代码中所用的数组,也就是[5, 4, 3, 2, 1]。

2023-04-22 12:47:53 83

原创 JS数据结构与算法==>二叉搜索树

学起来比之前学过的栈,队列,链表之类的都要复杂很多,大部分的方法既可以通过循环实现,也可以通过递归实现,总体来说,通过循环实现效率更高但代码量更大,通过递归实现效率更低但代码量更小,关键点还是在于先理解一遍思路,再开始写。

2023-04-18 21:22:12 125

原创 04.人力资源管理项目 -路由页面_组织架构==> 动态路由、菜单图标、动态设置标题、卡片布局、列表布局、树形结构

04.人力资源管理项目 -路由页面_组织架构==> 动态路由、菜单图标、动态设置标题、卡片布局、列表布局、树形结构

2023-04-09 13:35:00 177

原创 JS数据结构与算法==>链表、双向链表、循环链表

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。循环链表和链表之间唯一的区别在于,最后一个元素指向下一个元素的指针(tail.next)不是引用 undefined,而是指向第一个元素(head)节点除了存储数据外,还有两个指针分别指向前一个节点地址(前驱指针prev)和下一个节点地址(后继指针next)。每个节点只包含一个指针,即后继指针。

2023-04-07 22:49:45 132

原创 03.人力资源管理项目-主页模块-登录跳转、导航守卫、路由跳转进度条、下拉菜单、显示用户名和头像、退出登录、登录未遂地址

03.人力资源管理项目-主页模块-登录跳转、导航守卫、路由跳转进度条、下拉菜单、显示用户名和头像、退出登录、登录未遂地址

2023-04-07 10:14:57 264

原创 JS数据结构与算法==>数组、栈-十进制转二进制、队列-击鼓传花、双端队列-回文判断

虽然之前大一就已经在课堂上学习过了基于c语言的数据结构,大二也学习了‘算法分析与设计’,但之前的学习跟多是基于理论层面的学习,总体以应试为主,而缺少一定的实操,课本案例中的代码也基本以伪代码的形式呈现,加之时间已久,印象已经不够深刻了。因此需要重新学习数据结构和算法,同时更加有针对性地基于JavaScript来实现,能够更多的操作真正的数据结构和算法,而不是仅仅停留在伪代码层面

2023-04-06 23:29:22 136

原创 02_项目环境搭建-登陆模块-git管理、表单校验、跨域问题-代理转发、token处理

在A地址(发起请求的页面地址)向B地址(要请求的目标页面地址)发起请求时,如果A地址和B地址在:协议域名端口不全相同,则说明请求是跨域的跨域请报错的原因请求是跨域的,并不一定会报错。普通的图片请求,css文件请求是不会报错的跨域请求出现错误的条件: 浏览器同源策略 && 请求是ajax类型浏览器同源策略,同源策略是一个重要的安全策略,它能帮助阻隔恶意文档,减少可能被攻击的媒介。解决方案前端用JSONP方式去发请求(jsonp不是ajax请求) // 很少使用。

2023-04-05 14:03:01 299

原创 01.项目_模板学习

主要是对于vue-admin-template的学习,利用现成的模板,能大幅提高我们的项目的进度,但也要根据我们的项目需求对模板进行一些更新与修改。

2023-04-03 19:26:17 340

原创 PC端面经后台管理项目(2) 抽屉,富文本编辑器 回显 校验

这是pc面经管理的下半部分,其中有一个地方卡了很久,在利用this.$refs.form.resetFields()方法重置表单时,总是显示无效,其实是一个顺序的问题,当我在抽屉的表单生成后在调用这个方法就不报错了。目前该项目已经完成,同时也已经上传至远程开源仓库:https://gitee.com/Scurryniubi/manage_mj_projectSSH码:git@gitee.com:Scurryniubi/manage_mj_project.git。

2023-03-27 12:14:49 216

原创 PC端面经后台管理项目-element-UI,sass/scss,axios、localstorage二次封装,响应拦截器

这一次的项目是基于上一次移动端的面经项目的后台管理部分,与移动端的不同,移动端主要在于对vant组件库的熟悉和学习,pc端则是在于对element-ui的熟悉和学习,整体来说,和移动端面经项目有很多的相似之处,能够从上次的项目中借鉴经验,也能借此来加深对这套架子的熟悉。接口文档: https://www.apifox.cn/apidoc/project-934563/api-19465917本项目的技术栈 本项目技术栈基于和。

2023-03-25 15:12:32 768

原创 移动端面经项目(3)封装通用组件,利用请求拦截器和响应拦截器处理token,vant-list,渲染页面,yarn build打包(涉及路由懒加载)

移动端面经项目(3)封装通用组件,利用请求拦截器和响应拦截器处理token,vant-list,渲染页面,yarn build打包(涉及路由懒加载)这个移动端的项目写到这里也总算是完成了,其主要还是在于熟悉项目开发时的这一套架子,以便于我们规范化地开发,最后将项目打包。已经上传至gitee开源远程仓库:https://gitee.com/Scurryniubi/project_mjSSH:git@gitee.com:Scurryniubi/project_mj.git

2023-03-21 13:58:07 521

原创 移动端面经项目(2)--路由设计与封装,主体定制,vant组件库的进一步学习,登录与注册功能的实现,利用原先封装的token方法与路由守卫实现页面访问拦截

移动端面经项目(2)--路由设计与封装,主体定制,vant组件库的进一步学习,登录与注册功能的实现,利用原先封装的token方法与路由守卫实现页面访问拦截,当前项目进度已经上传到gitee开源远程仓库:https://gitee.com/Scurryniubi/project_mjSSH码:git@gitee.com:Scurryniubi/project_mj.git

2023-03-20 15:43:19 394

原创 移动端面经小项目(1)-基础前置配置-ESlint,vant组件库,移动端的vw适配,封装axios,封装localstorage

主要是对于vue自定义初始化项目,ESlint,vant组件库,移动端的vw适配,封装axios,以及封装localstorage的学习,主要是建立该项目所需要的前置配置。

2023-03-19 07:45:00 172

原创 综合练习 - 面经基础版 配置路由,跳转传参,组件缓存keep-alive及其对应的两个钩子

综合练习 - 面经基础版主要用于练习路由的配置,参数的传递,demo已经上床gitee,仓库网址:simple_mj: 主要用于练习路由的配置,参数的传递 (gitee.com)SSH:git@gitee.com:Scurryniubi/simple_mj.git

2023-03-18 20:41:35 156

原创 详细区分各类路由传参-(动态路由传参、quert传参、通过name形式的params传参)

详细区分各类路由传参-(动态路由传参、quert传参、通过name形式的params传参)

2023-03-18 15:03:54 164

空空如也

空空如也

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

TA关注的人

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