自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ant Design Vue上传文件只展示一个最新文件

【代码】Ant Design Vue上传文件只展示一个最新文件。

2024-06-06 08:57:47 144 1

原创 2024年1月19日

call和apply都是立即执行函数,而bind是返回一个新的函数。call和bind接受参数列表,apply接受一个参数数组。bind允许你预先设置函数的参数,这在函数式编程中非常有用。选择使用callapply还是bind取决于你是否想立即执行函数以及你如何更方便地传递参数。

2024-01-19 16:41:38 2133

原创 2024年1月18日

Vue3通过使用Proxy API实现数据的双向绑定,代替了Vue2中的Object.defineProperty。这意味着Vue3可以直接监听对象而非属性,可以直接监听数组的变化,并且具有更多的拦截方法。

2024-01-18 14:48:02 519

原创 2024年1月16日

缓存computed有缓存机制,依赖数据变化时才重新计算;watch没有缓存,数据变化即触发回调。同步/异步computed不能处理异步逻辑;watch可以监听异步数据变化。使用场景computed适用于计算量大的场景,如复杂的计算和数据处理;watch适用于数据变化时执行特定操作,如表单验证或数据持久化。性能computed在性能上更优,因为它避免不必要的计算;watch可能在数据变动频繁时造成性能问题。

2024-01-16 16:32:07 932

原创 2024年1月15日

选项式 API 更加声明式,通过配置选项直观地描述组件。组合式 API 更加函数式,通过函数组合的方式更灵活地组织和复用逻辑。选项式 API 将不同的逻辑分散在不同的选项中,比较传统。组合式 API 将相关逻辑组织在setup函数中,更加集中和一致。选项式 API 在小型应用和团队中可能更容易理解和维护。组合式 API 在大型应用和需要更高可维护性的场景中更有优势。7、垃圾回收机制回流涉及到布局的变化,而重绘只涉及到元素的外观变化。

2024-01-15 17:40:57 1025

原创 2024年1月13日

1 vue2的生命周期。

2024-01-13 18:02:18 859 1

原创 2024年1月12日

三维数组在数据结构中可以理解为一个类似于立方体的数据容器,它由多个二维数组组成,每个二维数组又包含多个一维数组(或视为行)。三维数组中的元素通过三个索引来定位,通常表示为,这里的z是最外层的索引,对应于“高度”或“深度”,y和x分别对应于二维数组的行和列。假设有一个 3x2x2 的三维数组:[1, 2],[3, 4]],[5, 6],[7, 8]],[9, 10],[11, 12]在这个例子中,我们可以这样理解:第一层[0][1][2]表示三个不同的 “平面” 或 “页面”。

2024-01-12 16:07:46 496 1

原创 2024年1月11日

如果目标是对象,会先判读属性是否存在、对象是否是响应式,最终如果要对属性进行响应式处理,则是通过调用 defineReactive 方法进行响应式处理( defineReactive 方法就是 Vue 在初始化对象时,给对象属性采用 Object.defineProperty 动态添加 getter 和 setter 的功能所调用的方法)当用户在手机端打开应用时,检查PC端存储中的登录状态信息,如果存在有效的登录状态信息,则直接登录,否则显示扫码登录界面。单点登录(SSO)的技术来实现。

2024-01-11 17:11:38 862

原创 2024年1月10日

主线程读取JS代码,此时为同步环境,形成相应的堆和执行栈,当主线程遇到异步操作的时候,将异步操作交给对应的API进行处理,当异步操作处理完成,推入任务队列中,主线程执行完毕后,查询任务队列,取出一个任务,并推入主线程进行处理,重复步骤以上步骤,就称之为事件循环(任务队列中又分为宏任务和微任务)深拷贝是指创建一个新对象,将原对象的可枚举属性复制到新对象中,并且如果原对象的属性值是指针类型,则递归地对属性值进行深拷贝,使新对象和原对象互不影响,各自拥有独立的直接子属性。一个异步函数可以使用。

2024-01-10 16:07:46 907

原创 2024年1月8日

通过数字索引访问元素。具有长度属性,表示对象中元素的数量。类数组对象不一定是数组,但是它们可以像数组一样使用。例如,可以使用循环遍历类数组对象的元素,或者使用数组的方法来处理它们。

2024-01-08 18:03:58 843

原创 2024年1月5日

通过文件分片上传对接阿里云的OSS,可以解决大文件上传的问题,提高上传速度和稳定性,并且支持断点续传和恢复,增强了上传的容错性。等所有片段上传完成后,可以通过OSS提供的分片上传接口将所有片段的ETag值进行拼接,生成一个完整的ETag值,表示整个文件的校验和和元数据。通过使用断点续传功能,可以确保在上传过程中发生中断时,能够从上次上传的位置继续上传,而不会重新上传已经上传完成的片段,提高上传效率和速度。测试和调试:在发布小程序和PC端网页之前,需要进行充分的测试和调试,以确保没有bug和问题存在。

2024-01-05 16:27:37 332 1

原创 2024年1月4日

Promise 是异步编程的一种解决方案,它是一个对象,可以获取异步操作的消息,他的出现大大改善了异步编程的困境,避免了地狱回调,它比传统的解决方案回调函数和事件更合理和更强大。状态的改变是通过 resolve() 和 reject() 函数来实现的,可以在异步操作结束后调用这两个函数改变 Promise 实例的状态,它的原型上定义了一个 then 方法,使用这个 then 方法可以为两个状态的改变注册回调函数。冒泡排序的基本思想是重复地从数组的起始位置开始,比较相邻的两个元素并交换位置,直到数组末尾。

2024-01-04 17:23:05 897 1

原创 2024年1月3日

闭包是由函数和函数能访问的变量组成的。var `声明的变量存在变量提升,即变量可以在声明之前调用,值为`undefined,let / const 不存在变量提升是不完全正确的,只能说由于暂时性死区的存在使得我们无法直观感受到变量提升的效果。闭包还可以实现数据的缓存,通过在外部函数中声明变量,并在内部函数中引用这些变量,可以避免重复计算,提高性能。BFC是块级格式化上下文,是用于布局块级盒子的独立渲染区域,一个创建了新的 BFC 的盒子是独立布局的,盒子内元素的布局 不会影响盒子外面的元素。

2024-01-03 15:51:27 876 1

原创 2024年1月2日

Proxy 是 ES6 中提供的功能,其作用为:用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等).相对于 Object.defineProperty() 其有以下特点:Proxy 直接代理整个对象而非对象属性,这样只需做一层代理就可以监听同级结构下的所有属性变化,包括新增属性和删除属性。compile 解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者,一旦数据有变动,收到通知,更新视图。

2024-01-03 15:50:19 799 1

原创 12月29日

浏览器历史记录:在hash模式下,每次路由切换时,URL的hash部分会发生变化,但不会触发浏览器重新加载页面。浏览器历史记录:在history模式下,每次路由切换时,URL的路径部分会发生变化,并且会触发浏览器重新加载页面。兼容性:history模式对于较新版本的浏览器具有更好的兼容性,因为它依赖于HTML5的History API,而该API在较老版本的浏览器中可能不被支持。兼容性:hash模式对于老版本的浏览器具有更好的兼容性,因为hash部分的变化不会触发浏览器发送请求。

2023-12-29 15:38:35 342 1

原创 12月28日

避免频繁的数据更新:在小程序中频繁更新数据会导致频繁的UI渲染,可以通过合并更新、使用setData的第二个参数来批量更新数据等方式来减少渲染次数。使用wx:key:在使用wx:for循环渲染列表时,为每个列表项指定唯一的wx:key,可以提高列表渲染的性能。使用分包加载:对于大型小程序,可以使用分包加载的方式将不常用的页面或组件进行分包,减少首次加载的大小,提高启动速度。使用虚拟列表:对于长列表,可以使用虚拟列表技术,只渲染可见区域的内容,减少渲染的元素数量,提高性能。

2023-12-29 15:36:06 719 1

原创 12月27日

ViewModel 通过数据绑定将 Model 中的数据与 View 中的元素进行关联,当 Model 的数据发生变化时,View 会自动更新,反之亦然。它是在内存中构建的轻量级的DOM副本,用于描述真实DOM的结构和属性。通过对比虚拟DOM与真实DOM的差异,可以最小化对真实DOM的操作,从而提高性能。MVVM(Model-View-ViewModel)是一种软件架构模式,用于将应用程序的用户界面(View)与业务逻辑(Model)分离,并通过一个中间层(ViewModel)进行交互和数据绑定。

2023-12-27 17:13:28 816 1

原创 12月26日

当文件下载完成时,会触发 close 事件,并在控制台输出相应的提示信息,需要将 url 变量替换为你要下载的文件的 URL,并将 file 变量替换为你希望保存的本地文件名。使用事件委托的优点在于可以减少DOM操作次数,提高性能和内存利用率,特别是对于大量动态生成的元素,使用事件委托可以极大地简化代码,并且避免了重复绑定事件处理程序的问题。在上面的示例中,add 函数接受一个参数 a,并返回一个函数,该函数接受一个参数 b,并返回 a + b 的结果。// 替换为你要下载的文件的 URL。

2023-12-27 17:12:00 1043 1

原创 2023年12月25日

Promise 是异步编程的一种解决方案,它是一个对象,可以获取异步操作的消息,他的出现大大改善了异步编程的困境,避免了地狱回调,它比传统的解决方案回调函数和事件更合理和更强大。状态的改变是通过 resolve() 和 reject() 函数来实现的,可以在异步操作结束后调用这两个函数改变 Promise 实例的状态,它的原型上定义了一个 then 方法,使用这个 then 方法可以为两个状态的改变注册回调函数。这与事件(event)完全不同,事件的特点是:如果你错过了它,再去监听是得不到结果的。

2023-12-26 15:44:11 1101 1

原创 自定义打印

在以上代码中,我们使用了`@media print`媒体查询来指定打印时的样式。我们还定义了一个`.no-print`类,以便在打印时隐藏这些元素。其中,我们使用一个具有特定class名的`<div>`元素来包裹需要打印的DOM元素,如上面的`print-content`。在点击打印按钮时,我们可以调用`window.print()`方法来触发浏览器的打印功能。以上代码中,我们在组件中定义了`printPage`方法,并在按钮的`click`事件中调用该方法来触发浏览器的打印功能。

2023-06-16 14:31:59 906 1

原创 Axios简单封装

三 通过自定义接受的函数返回到要用到数据的组件中。在utils下创建要封装axios的js文件。根据后端的接口文档提供的数据接收要用到的数据。二 后端返回的数据 放在另一个js文件中。一 创建文件夹utils。

2023-04-18 14:52:00 107

原创 VUE 兄弟组件传值

mutations 更新数据,state中的数据只能使用mutations去改变数据(只能处理同步的场景)getters相当于在State和组件之间添加一个环节(对state中的数据进行加工处理后再提供给组件)Devtools指的是浏览器的Vue插件调试工具,它可以监控到数据的所有变更操作。state 管理组件数据,管理的数据是响应式的,当数据改变时驱动视图更新。在点击事件中bus.$emit("接收数据的函数",数据)在所要使用的vue组件中引用bus.js文件。在其他组件就可以使用vuex中的值。

2023-04-03 17:06:16 342

原创 前端接收的后端数据放到标签中

需要注意的是,在实际开发中,可能会有多种不同的方式来调用后端接口,例如使用axios、fetch等网络库,或者使用Vue提供的$http对象。然后,在Vue模板中使用插值表达式{{}}将数据对象中的属性绑定到对应的标签中。例如,如果数据对象中有一个名为“username”的属性,那么可以使用{{username}}将其绑定到一个div标签中。首先,需要在Vue组件中定义一个数据对象来存储接口返回的数据。在组件的mounted钩子函数中,调用后端接口,并将返回的数据赋值给定义的数据对象。

2023-03-30 13:14:33 316

原创 vue项目学习笔记1组件和路由

router-view 出口 //放在要出去的页面的组件中。二、this.$router.push(“/地址”) 点击事件跳转。把App.vue这个组件,当做Vue实例内部的最顶级组件并渲染出来。在components文件夹下创建组件文件夹及文件。main.js 详情 引用基于vue框架的一些库。文件夹中 , 其有两种引入css文件的方式。App.vue 最顶级的那个组件,仅次于。文件中自己注册自己的名字暴露自己。之外的组件,都写到这个文件夹中。创建了最外层的Vue实例。方式一、在单文件组件。

2023-03-29 14:00:33 110

原创 vue项目搭建

使用历史模式的路由器?(需要为生产中的索引回退设置适当的服务器)(Y/n) 一般选择n。选择一个linter / formatter配置:(使用方向键)你喜欢把配置Babel, ESLint等?选择一个Vue.js版本,你想开始项目(使用方向键)空格是选择,回车是下一步,回车之后无法撤销。保存为未来项目的预设?在package.json(选择)选择vue2还是vue3。

2023-03-29 13:13:18 75

空空如也

空空如也

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

TA关注的人

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