自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uniapp打包Android

2.选择使用云端证书,如果不是个人而是企业的话就选择使用自有证书,单击打包。1.打开HBuilder X找到 发行选择原生App-云打包。3.进入打包状态之后,选择继续打包。

2023-04-22 16:50:06 405

原创 uniapp打包H5页面

3.需要填写HBuilder X的账号和密码确认个人信息,没有的话就先去注册一个。1.打开HBuilder X找到 发行选择网站-PC Web或手机H5。2.填写网站标题,网站的域名。

2023-04-22 16:38:47 822

原创 小程序发布

上传代码到服务器找到微信开发者工具点击上传然后填写版本号以及项目的备注单击上传,就会出现一个上传成功的弹框 上传之后页面注意:上传之后我们的小程序是一个开发版

2023-04-22 15:50:20 210

原创 vue+Element plus实现商品规格练习(sku列表)

6.点击“刷新”按钮,对上面的规格进行组合,得到表格数据。4.点击“添加规格值”按钮,添加一组规格值内容。2.点击“添加规格”按钮,添加一组规格内容。5.点击“x”按钮,删除该规格值内容。3.点击“x”按钮,删除该规格内容。7.最多添加3组规格内容。

2023-04-22 14:57:19 1286 1

原创 用vue+Element plus实现列表添加

选项操作,最多5个,最少1个。添加按钮显示在最后一项,当有5个选项时不显示添加按钮,当1个选项时,不显示删除按钮。页面初始化,显示题干,添加按钮,和题目列表框。在右下角显示删除按钮,能够删除题目。正确的答案用红色显示。

2023-04-22 14:44:24 519

原创 说说你对slot的理解?slot使用场景有哪些?

通过插槽可以让用户可以拓展组件,去更好地复用组件和对其做定制化处理,如果父组件在使用到一个复用组件的时候,获取这个组件在不同的地方有少量的更改,如果去重写组件是一件不明智的事情通过。插槽向组件内部指定位置传递内容,完成这个复用组件在不同场景的应用,比如布局组件、表格列、下拉选、弹框显示内容等。在组件模板中占好了位置,当使用该组件标签时候,组件标签里面的内容就会自动填坑(替换组件模板中。子组件在作用域上绑定属性来将子组件的信息传给父组件使用,这些属性会被挂在父组件。父组件中在使用时在默认插槽的基础上加上。

2023-04-12 08:09:51 497

原创 CSS 单位

总共列了 17 个单位百分比、cm 厘米、mm 毫米、px 像素(计算机屏幕上的一个点)、in 英寸、pt 磅 rgb(x,x,x) rgb(x%,x%,x%) #rrggbb(十六进制)em:1em 等于当前字体尺寸(继承父元素的字体尺寸)rem:r 为 root,1rem 等于根元素字体尺寸(继承 html 的字体尺寸)vh:1vh 等于可视窗口高度的 1/100vw: 1vw 等于可视窗口宽度的 1/100vmin:可视窗口宽高更小的值的 1/100vmax:可视窗口宽高更大的值的 1/

2023-04-08 21:13:50 302

原创 回流和重绘

重绘和回流会在我们设置节点样式时频繁出现,同时也会很大程度上影响性能。回流所需的成本比重绘高的多,改变父节点里的子节点很可能会导致父节点的一系列回流。:当render tree中的一些元素需要更新属性,而这些属性只是影响元素的外观、风格,而不会影响布局的,比如background-color。::当render tree中的一部分(或全部)因为元素的规模尺寸、布局、隐藏等改变而需要重新构建。任何会改变元素几何信息(元素的位置和尺寸大小)的操作,都会触发回流。

2023-04-01 18:49:15 389

原创 HTTP 常见的状态码

类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是。,是协议处理中的一种中间状态,实际用到的比较少。处理了客户端的请求,也是我们最愿意看到的状态。,服务器无法处理,也就是错误码的含义。类状态码表示客户端请求报文正确,但是。类状态码表示客户端发送的。,属于服务器端的错误码。

2023-04-01 18:35:13 865

原创 js跨域与解决

一个网页向另一个不同域名/不同协议/不同端口的网页请求资源,这就是跨域。协议、域名、端口号 必须完全相同。违背同源策略就是跨域。5.

2023-04-01 17:58:06 455

原创 apply、call与bind

call经常做继承。**Object.prototype.toString.call()**判断数据类型apply经常跟数组有关系,比如借助于数学对象实现数组最大值最小值。bind不调用函数,但是想改变this指向,比如改变定时器内部的this指向。

2023-04-01 17:19:44 895

原创 Javascript 的作用域链

当你要访问一个变量时,首先会在当前作用域下查找,如果当前作用域下没有查找到,则返回上一级作用域进行查找,直到找到全局作用域,这个查找过程形成的链条叫做作用域链。可见上述代码中在函数内部声明的变量或函数,在函数外部是无法访问的,这说明在函数内部定义的变量或者方法只是函数作用域。作用域就是变量的可用性的代码范围,就叫做这个变量的作用域。

2023-04-01 17:10:01 130

原创 js中的闭包

其中一点上面已经有体现了,就是被引用的私有变量不能被销毁,增大了内存消耗,造成内存泄漏,解决方法是可以在使用完变量后手动为它赋值为null。其次由于闭包涉及跨域访问,所以会导致性能损失,我们可以通过把跨作用域变量存储在局部变量中,然后直接访问局部变量,来减轻对执行速度的影响。在内存中维持一个变量,可以做缓存(但使用多了同时也是一项缺点,消耗内存)保护函数内的变量安全 ,实现封装,防止变量流入其他环境发生命名冲突。然而,由于闭包的特性,它可以访问到外部函数的变量。匿名自执行函数可以减少内存消耗。

2023-04-01 17:04:35 499

原创 vue中使用数字滚动插件

数字滚动插件:vue-count-to是一个用于实现数字动画效果的插件,可以让数字在一定时间内从一个值平滑地过渡到另一个值。安装vue-count-to插件在组件中引入vue-count-to插件在组件中使用CountTo组件startVal表示开始的数值endVal表示结束的数值duration表示过渡时间(单位为毫秒)

2023-04-01 16:01:02 1221

原创 uniapp项目连接手机调试

一.修改手机选项1.打开开发者模式在手机更多设置里的最下面找到“开发者选项”【若没有这个,则先在更多设置里找到“关于手机”——>“软件版本号”,连续点击“软件版本号”若干次】出现“您已处于开发者模式,无需进行此操作”就已经打开开发者模式2.找到手机设置,选择其他设置5.设置手机与电脑属于同一个网手机连接电脑热点,然后看到HBuilderX中“运行到手机或模拟器(N)”下显示有运行设备等字样,就说明成功了,就可以运行你的uni-app项目啦。电脑连接手机热点二.使用HBuilderX运

2023-04-01 15:18:00 2583

原创 vue的防抖节流

防抖和节流是常用的优化前端性能的方法。一.防抖1.防抖是指在事件被触发n秒后再执行回调函数,如果在这n秒内又被触发,则重新计时。防抖的实现方式可以使用setTimeout函数和闭包。2.防抖封装export function debounce(fn: Function, delay = 200) {// 参数1:调用的函数或者是请求 参数2:延迟多少毫秒才执行 let timer: NodeJS.Timeout | null = null;//设定一个,在没有执行定时器为null

2023-04-01 13:44:52 329

原创 vue项目打包上线

解决方式:在vite.config.ts文件中添加esbuild:{drop:["console","debugger"]}

2023-03-31 22:58:46 1134

原创 vue使用tinymce实现富文本编辑器

div>base_url: '/tinymce', // [必要参数] 指定public的目录language_url: "/tinymce/langs/zh-Hans.js",//语言类型的路径language: 'zh-Hans', // 语言类型(中文),默认会到tinymce/langs/zh_CN.js文件skin_url: '/tinymce/skins/ui/oxide', // 皮肤,浅色。

2023-03-30 22:11:57 1185

原创 sessionStorage , localStorage 和cookie的区别

需要注意的是,cookie的大小限制比较小,一般只能存储几KB的数据,而且cookie的存储方式比较简单,容易被篡改,因此不适合存储敏感信息。存储数据的作用域不同:sessionStorage存储的数据只在当前会话中有效,而localStorage存储的数据在同源的所有窗口中都是共享的。存储数据的生命周期不同:sessionStorage存储的数据在会话结束时会被清除,而localStorage存储的数据在会话结束时不会被清除。会话管理:可以通过cookie来管理用户的会话状态,比如保存用户的登录状态。

2023-03-25 11:02:56 523

原创 uni-app使用uview组件中的封装

通过将代码封装在函数中,您可以将其组织成更小、更可重用的部分,并将其隐藏在函数的内部。抽取公共逻辑代码,通过export对外公开函数、对象、属性,通过import来使用这些公开的函数、对象、属性,让代码具有复用性,从提高了代码的可维护性,做到一改全改的效果。封装可以使代码更易于维护和测试,并且可以使代码更易于重用。封装还可以帮助隐藏代码的实现细节,从而使代码更易于理解和使用。前后端分离,使用http作为两端的通讯协议,当然还可以有其他协议,例如Websocket,但http是前后端应用的最主要的协议。

2023-03-24 22:44:40 726

原创 js中数组常用的方法

map()方法用于创建一个新数组,其中包含通过提供的函数实现的测试的所有元素。它接受一个参数,即要为每个元素执行的函数。reduce()方法用于通过提供的函数将数组的所有元素累加到单个值中。它接受两个参数:要执行的函数和可选的初始值。它接受一个参数,即要搜索的元素。,并返回该元素的值。push()方法用于将一个或多个元素添加到数组的末尾,并返回新数组的长度。它接受一个参数,即要为每个元素执行的函数。它接受一个参数,即测试每个元素的函数。例如,以下代码将数字5添加到名为myArray的数组的末尾。

2023-03-24 22:11:17 470

原创 vue数据加载进度条

vue数据加载进度条1.安装第三方插件npm i nprogress2.在main.ts中引入样式import 'nprogress/nprogress.css';//引入加载进度条的样式3.在拦截器开始请求和结束请求加入相应的代码a.首先引入nprogress插件import NProgress from "nprogress"; // 引nprogress插件b.在请求拦截器中开启进度条NProgress.start();//开启进度条c.在响应拦截器中 NProgress .do

2023-03-21 09:46:28 527

原创 uni-app使用uview组件

安装sass-loader,注意需要版本10,否则可能会导致vue与sass的兼容问题而报错。中首行的位置引入,注意给style标签加入lang="scss"属性)配置easycom组件模式,此配置需要在项目src目录的。引入uView主JS库(注意:要在use方法之后执行)在引入uView的全局SCSS主题文件,引入uView基础样式(在。,选择右上角版本2.0x。打开 uView文档。

2023-03-20 21:38:29 358

原创 vue按钮权限的实现

然后在main.ts中定义一个函数(自定义指令),参数1:自定义指令名称,参数2:在钩子函数(挂载之后)传两个参数el和binding,el是绑定指令元素对象,binding是指令所传递的数据。在按钮中,以v-加上自定义名称来使用,如添加系统指令一样(v-permission自定义指令)然后获取状态管理中存储的用户权限与自定义指令传递过来的值进行判断是否相等。权限按钮就是不同的用户等级的用户可以进行操作也不同。登录成功之后,取到当前用户的权限并存储到状态管理中。

2023-03-15 12:28:39 303

原创 vue组件缓存与动画效果

router-view> v-slot Component是router-view要显示的组件对象 route路由是什么。keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,避免重新渲染,is动态渲染组件 判断条件如果为真就渲染组件。主要是利用了router-view组件的插槽来实现,使用。 max缓存组件数量,限定缓存5。结合路由和动态组件一起使用,用于缓存组件。在不改变路径的方式,在Main组件下渲染。

2023-03-14 23:10:35 315

原创 vue使用笛卡尔积算法构建sku表格

判断如果规格长度等于0,直接把规格属性赋空,然后使用笛卡尔积算法将数据进行交叉处理(使用reduce方法,参数1:空的二维数组,参数2:变量2的数据(维度名称标签),在声明一个空的数组array(用这个空数组去匹配交叉数组),再拿出reduce参数1空的二维数组,forEach循环遍历,在使用forEach遍历变量2数据(维度名称标签),进行交叉匹配,连接起来添加进array空数组,然后在这个二维数组中重新映射为对象数组,进行拼接数据构建sku表格。变量1接收过滤的tag标签,生成二维数组组。

2023-03-14 22:41:01 877

原创 vue无痛刷新

3.在http文件中的响应拦截器,定义一组数据就是需要无痛刷新的页面,先获取页面路径,判断令牌token是否是10006过期,使用some查找那一组需要无痛刷新的页面,此方法返回的是true跟false,判断如果为true则需要无痛刷新,先从状态管理中取出用户账号和密码,再重新调用登录接口重新登录,通过async将异步序列改为同步(同步获取请求),然后在把获取到的接口存储在cookie中,用于登录之后更新令牌。而无痛刷新的作用就是在客户在进行重要操作时 重新调用一次登录接口将过期的token替换。

2023-03-14 22:25:40 207

原创 nvm的使用与讲解

1.介绍1).node的版本管理器,可以方便地安装&切换不同版本的node,随着大前端的快速发展,node版本更新很快,我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果我们只有一个node版本的话将会很麻烦,nvm可以解决我们的难点2).nvm是什么nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和npm都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它

2023-03-09 23:01:42 302

原创 vue后台管理系统权限配置

vue后台管理系统权限配置1. 从element复制Tree 树形控件注解:• data展示数据• show-checkbox 节点是否可被选择• node-key每个树节点用来作为唯一标识的属性,整棵树应该是唯一的• default-checked-keys默认勾选的节点的 key 的数组2. 树形菜单数据 所有的权限3. 角色所拥有的权限4. 用于选中的数据5. 用于选中的权限信息6. 点击授权按钮时,调用接口获取角色所拥有的的权限,使用nextTick数据更新了,并且在dom中

2023-03-05 18:37:03 232

原创 git的使用

一.git的使用1.git又称源代码管理工具,分为本地仓库和远程仓库2.git 安装和配置1).下载安装包 https://git-scm.com/downloads2).一直点击next3).检测安装:右击任何地方看是否有git菜单4).选择git Bash Here5).全局配置用户git config --global user.name 名字git config --global user.email 邮箱6).使用命令查看所有配置信息git config --list

2023-03-05 17:43:49 342

原创 vue引入/使用阿里矢量图库

vue引入/使用阿里矢量图库,1. 找好需要的图标2. 选择添加至项目3. 然后单击你需要加入的项目中,点击确定4. 跳转至个人页面,找到下载至本地5. 打开你下载值本地的目录,将其解压6. 将其解压好的文件,放入你需要的文件中7. 找到css文件,打开将before前面的复制8. 在需要用到的页面使用标签,里面嵌套标签,绑定class样式,参数1:代表图标,参数2:图标的形状

2023-03-05 17:26:00 211

原创 vue使用element悬停图片放大

vue使用element悬停图片放大,复制element中的气泡弹框卡片Popover 注解:• trigger弹出框触发方式• placement弹出框出现位置• reference触发弹出框显示的 HTML 元素

2023-03-05 16:46:31 653

原创 vue的图片上传及获取第一张图片颜色

vue的图片上传及获取第一张图片颜色,一.图片上传1. 首先获取token令牌(请求头)const headers = ref({ 'AdminToken': cookie.get('token') //获取请求头 })2. 从element复制图片上传代码before-upload传文件之前的钩子,参数为上传的文件,若返回false或者返回 Promise 且被 reject,则停止上传二.获取第一张图片颜色1. 创建一个文件color.ts

2023-03-05 16:30:26 312

原创 vue导出excel文件

vue导出excel文件,1. 安装相关得插件npm i file-saver xlsx2.需要的页面引入即可import FileSaver from 'file-saver';//引入export表格import * as XLSX from 'xlsx'; //引入export表格3.导出当前页

2023-03-04 21:00:12 194

原创 js的深拷贝与浅拷贝

一.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用 a. 概念:创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 ,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。 b. 思路:浅拷贝可以想做把引用类型的第一子级当作是每一个数据类型来赋值 c. 实现方法: 1).Object.assign() Obj

2023-03-04 14:33:02 97

原创 vue组件化-换肤

vue组件化-换肤

2023-02-26 13:55:02 223

原创 vue组件化尺寸

vue组件化尺寸,尺寸改变组件size 用于设置表单组件的默认尺寸,zIndex 用于设置弹出组件的层级子组件

2023-02-26 13:48:48 644

原创 vue 组件化-全屏

全屏组件引入第三方插件 npm add screenfull需要使用的页面引入 import screenFull from 'screenfull';定义事件 @click="handclick"

2023-02-26 13:44:38 297

原创 vue国际化--中英文切换

vue国际化--中英文切换1.安装组件npm add vue-i18n2.使用config-provider全局配置器,只需要放入你需要中英文切换的区域(首页index.ts)标签中包起来引入3.定义语言包,在src目录下创建文件夹i18n,在此文件夹创建4. 全局引入注册vue实例src/main.ts5.在i18n文件中在创建index文件,在index文件做一些逻辑操作,创建i18n实例,把中文src/i18n/zh.ts和英文src/i18n/en.ts引入,然后接着上面操作,声明变

2023-02-26 13:33:32 1114

原创 js中mousewheel鼠标滚轮事件

js中mousewheel鼠标滚轮事件,在你需要mousewheel鼠标滚轮的地方,使用mousewheel定义事件,在此事件传值@mousewheel="scrollTags($event)"在使用ref操作虚拟DOM

2023-02-26 12:59:50 872

空空如也

空空如也

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

TA关注的人

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