自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件下载页面操作大全

u-button class="openMoney" :hairline="false" iconColor="#fff" color="#E02525" icon="download" text="保存到本地"" :show="show"></u-notify>this.fileName = this.fileUrl.split('/')[urlArrLength - 1];url: that.data.downloadUrl, //仅为示例,并非真实的资源。title: '提示',

2025-05-15 16:36:36 396

原创 深拷贝浅拷贝的区别?如何实现一个深拷贝?

深拷贝开辟一个新的栈,两个对象属完成相同,但是对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。浅拷贝只复制属性指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存,修改对象属性会影响原对象。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。如果属性是基本类型,拷贝的就是基本类型的值。深拷贝是递归拷贝深层次,属性为对象时,深拷贝是新开栈,两个对象指向不同的地址。浅拷贝是拷贝一层,属性为对象时,浅拷贝是复制,两个对象指向同一个地址。

2024-02-05 13:32:37 1041

原创 Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?

在 Vue3 Composition API 中,组件根据逻辑功能来组织的,一个功能所定义的所有 API 会放在一起(更加的高内聚,低耦合)正是解决上述问题,将某个逻辑关注点相关的代码全都放在一个函数里,这样当需要修改一个功能时,就不再需要在文件中跳来跳去。在逻辑组织方面的优势,以后修改一个属性功能的时候,只需要跳到控制该属性的方法中即可。然而,当组件变得复杂,导致对应属性的列表也会增长,这可能会导致组件难以阅读和理解。即使项目很大,功能很多,我们都能快速的定位到这个功能所用到的所有 API。

2024-02-05 13:21:11 1538

原创 em/px/rem/vh/vw的区别

传统的项目开发中,我们只会用到pxem这几个单位,它可以适用于大部分的项目开发,且拥有比较良好的兼容性从CSS3开始,浏览器对计量单位的支持又提升到了另外一个境界,新增了remvhvwvm等一些新的计量单位利用这些新的单位开发出比较良好的响应式页面,适应多种不同分辨率的终端,包括移动设备等px:绝对单位,页面按精确像素展示em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算,整个页面内1em不是一个固定的值rem:相对单位,可理解为root em, 相对根节点html。

2024-02-04 09:00:00 877 1

原创 【无标题】Vue项目中你是如何解决跨域的呢?

代理(Proxy)也称网络代理,是一种特殊的网络服务,允许一个(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。CORS (Cross-Origin Resource Sharing,跨域资源共享)是一个系统,它由一系列传输的HTTP头组成,这些HTTP头决定浏览器是否阻止前端 JavaScript 代码获取跨域请求的响应。一定要注意跨域是浏览器的限制,你用抓包工具抓取接口数据,是可以看到接口已经把数据返回回来了,只是浏览器的限制,你获取不到数据。发送请求中,配置请求的根路径。

2024-02-03 09:00:00 844

原创 vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?

取得后端返回的菜单后,根据菜单与路由的对应关系,筛选出可访问的路由,通过。菜单跟路由耦合在一起,定义路由的时候还有添加菜单显示标题,图标之类的信息,而且路由不一定作为菜单显示,还要多加字段进行标识。路由方面,用户登录后只能看到自己有权访问的导航菜单,也只能访问自己有权访问的路由地址,否则将跳转。按需挂载,路由就需要知道用户的路由权限,也就是在用户登录进来的时候就要知道当前用户拥有哪些路由权限。如果有嵌套路由,后端功能设计的时候,要注意添加相应的字段,前端拿到数据也要做相应的处理。

2024-02-02 14:56:23 1311

原创 “前浪” JavaScript,“后浪” TypeScript

TypeScript 简介为何选择 TypeScript安装使用 TypeScript。

2024-01-27 12:30:00 942

原创 你对 TypeScript 中接口的理解?应用场景?

的核心功能之一就是对类型做检测,虽然这种检测方式是“鸭式辨型法”,而接口的作用就是为为这些类型命名和为你的代码或第三方代码定义一个约定。简单来讲,一个接口所描述的是一个对象相关的属性和方法,但并不提供具体创建此对象实例的方法。是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的。去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。这些属性并不一定全部实现,上述传入的对象必须拥有。有些时候,我们想要一个属性变成只读属性,在。例如有一个函数,这个函数接受一个。

2024-01-26 10:30:00 487

原创 如何在Vue项目中应用TypeScript?

与link类似在VUE项目中应用typescript,我们需要引入一个库其是基于库而来,这个库vue官方推出的一个支持使用class方式来开发vue单文件组件的库methods 可以直接声明为类的成员方法计算属性可以被声明为类的属性访问器初始化的 data 可以被声明为类属性data、render 以及所有的 Vue 生命周期钩子可以直接作为类的成员方法所有其他属性,需要放在装饰器中可以看到上述typescript版本的vue class的语法与平时javascript。

2024-01-25 16:24:53 794

原创 你对 TypeScript 中枚举类型的理解?应用场景?

在日常生活中也很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就可以看成是一个枚举。枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。包括后端日常返回0、1 等等状态的时候,我们都可以通过枚举去定义,这样可以提高代码的可读性,便于后续的维护。通俗来说,枚举就是一个对象的所有可能取值的集合。通常情况下我们很少会使用异构枚举。

2024-01-25 15:38:08 632

原创 你对 TypeScript 的理解?与 JavaScript 的区别?

超集,不得不说另外一个概念,子集,怎么理解这两个呢,举个例子,如果一个集合 A 里面的的所有元素集合 B 里面都存在,那么我们可以理解集合 B 是集合 A 的超集,集合 A 为集合 B 的子集。其是一种静态类型检查的语言,提供了类型注解,在代码编译阶段就可以检查出数据类型的错误。通过类型批注提供在编译时启动类型检查的静态类型,这是可选的,而且可以忽略而使用。如果缺乏声明而不能推断出类型,那么它的类型被视作默认的动态。等数据格式,对象的类型就是用接口来描述的。的语法,所以任何现有的。对于基本类型的批注是。

2024-01-24 09:30:00 1415 1

原创 typescript 的数据类型有哪些?

和javascript基本类型引用类型在基础类型上,typescript增添了voidanyemum等原始类型。

2024-01-23 16:31:42 1100 1

原创 前端基础面试题(二)

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

2024-01-22 13:28:01 1442 1

原创 git命令看这一篇就够了(收藏,即用即查)

git的操作可以通过命令的形式如执行,日常使用就如下图6个命令即可实际上,如果想要熟练使用,超过60多个命令需要了解,下面则介绍下常见的的git命令Git自带一个 git config 的工具来帮助设置控制 Git外观和行为的配置变量,在我们安装完git之后,第一件事就是设置你的用户名和邮件地址后续每一个提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改设置提交代码时的用户信息命令如下:一个git项目的初始有两个途径,分别是:在日常工作中,代码常用的基本操作如下:关于提交信息的格式,可以遵循以下

2024-01-19 10:26:15 1316 2

原创 强缓存、协商缓存(浏览器的缓存机制)是么子?

项目优化方式,浏览器缓存机制,什么是强缓存和协商缓存

2024-01-18 13:45:56 2487 2

原创 优化跳转,避免屎山

简单的跳转优化,看起来更舒心噢

2024-01-18 11:52:27 450 2

原创 前端基础面试题大全

设计模式观察者模式发布订阅模式主体Watcher 观察者、Dep 目标对象Publisher 发布者、Event Channel 信息中心、Subscribe 订阅者主体关系Dep 中通过 subs 记录 WatcherPublisher 和 Subscribe 不想不知道对方,通过中介联系优点角色明确,Watcher 和 Dep 要遵循约定的成员方法松散耦合,灵活度高,通常应用在异步编程中缺点紧耦合当事件类型变多时,会增加维护成本使用案例双向数据绑定。

2024-01-17 13:31:23 1349 1

原创 mixin看这篇事半功倍

我们只要将共用的功能以对象的方式传入 mixins选项中,当组件使用 mixins对象时所有mixins对象的选项都将被混入该组件本身的选项中来。在日常的开发中,我们经常会遇到在不同的组件中经常会需要用到一些相同或者相似的代码,这些代码的功能相对独立。但是如果相同选项为生命周期钩子的时候,会合并成一个数组,先执行mixin的钩子,再执行组件的钩子。当组件存在与mixin对象相同的选项的时候,进行递归合并的时候组件的选项会覆盖mixin的选项。这时,可以通过Vue的mixin功能将相同或者相似的代码提出来。

2024-01-16 15:21:19 1037 2

原创 数组方法集合大全

数组方法大全

2024-01-16 11:58:11 560 2

原创 slot详解和使用

Slot 艺名插槽,花名“占坑”,我们可以理解为solt在组件模板中占好了位置,当使用该组件标签时候,组件标签里面的内容就会自动填坑(替换组件模板中slot位置),作为承载分发内容的出口。子组件用<slot>标签来确定渲染的位置,标签里面可以放DOM结构,当父组件使用的时候没有往插槽传入内容,标签内DOM结构就会显示在页面。如果父组件在使用到一个复用组件的时候,获取这个组件在不同的地方有少量的更改,如果去重写组件是一件不明智的事情。父组件在使用的时候,直接在子组件的标签内写入内容即可。

2024-01-16 11:21:42 476 1

原创 uniapp封装请求看这一篇就够了

1.request.js,(content-type根据method选择自己需要的类型看后端接口规定)3.main.js引入注册全局api。

2024-01-08 11:34:55 1145

原创 vue封装筛选条件selected

注:this.$refs.flag.changetab(this.mxFlag)在封装的组件内按需求填数据。1.手写selected组件封装。

2024-01-08 10:26:10 511

原创 前端商城sku商品规格选择封装

1.弹窗封装,复制即可用。

2024-01-05 17:53:10 502 1

原创 前端深度链接跳到app里

2.深度链接js其中LinkedME_KEY需要换成自己app的key。1.页面上使用示例path是和app约定好的跳转到页面的标识。

2024-01-05 16:55:32 510 1

原创 vue手写图片视频预览功能

手写预览图片视频功能

2024-01-05 14:01:20 433 2

原创 vue手写板,签名再封装

【代码】vue手写板,签名再封装。

2024-01-05 11:37:08 555 2

原创 uniapp封装动态表单

1.封装的组件dtFrom。2.页面引入使用组件。

2024-01-04 14:54:18 1482 1

原创 vue计算属性computed灵活使用

根据自己需求进行样式绘制,忽略小编粗枝大节的样式构造实数无奈。2. 计算属性传值进行动态if判断。1.计算属性控制class类名。

2024-01-04 14:16:50 498 1

原创 前端uniapp封装商城瀑布流,复制即可用

1.二次封装的vue瀑布流组件。3.在页面使用二次封装瀑布流。

2023-12-08 13:29:42 1153 2

原创 人生有目标,生活有希望!

加油!亲爱的陌生人。

2023-12-06 18:37:49 356 4

原创 前端禁止页面滚动

2.取消页面禁止滚动。

2023-12-01 11:23:34 1055 1

原创 前端h5项目调起支付

1.直接跳转就行了,跳转地址是后端返回的数据,如果支付成功还想跳转页面,就给后端传个重定向的地址。*注意,微信官方文档的回调支付是否成功不准确,只有在微信浏览器才能调起微信支付**两者区别在于openid是拼接在“?”后面还是“&”后面*(1)在首页url没有多余参数获取openid。(2)url后面有其他参数时获取openid。1.微信环境获取openid。3.判断是否在微信环境。2.调起微信支付的操作。

2023-11-23 18:28:11 569

原创 前端h5内嵌app交互

2.把事件放在window身上供App端使用,也可接收App传来的数据。1.在h5项目内把数据给app。

2023-11-23 17:44:40 657

空空如也

空空如也

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

TA关注的人

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