- 博客(63)
- 收藏
- 关注
原创 vue 插槽的用法
Vue的插槽(Slot)是一种可以让父组件向子组件传递内容的机制。插槽可以让开发者将组件的结构和内容分离开来,从而实现更好的可维护性和复用性。在Vue中,插槽通过 标签实现。
2023-05-05 17:58:40 1423
原创 wangeditor富文本编辑器的使用,以及开发中遇到的奇葩bug
这两天在pc端和h5都做了一个富文本编辑器的功能。h5用的uniapp做的,它里面有editor组件直接使用就行了,其中出现的问题就是,上传图片逆时针90度旋转了,这个问题在我之前的文章也写了解决办法。这次主要说一下在pc端用wangeditor开发过程中的一些细节问题1.下载引入npm install wangeditorimport E from 'wangeditor'2.配置 mounted() { this.editor = new E(document.getElem
2020-11-18 10:46:51 4404 13
原创 vue父子组件传值,以及监听传值(超级详细)
vue最常用到的就是父子之间的传值了,下面我来详细说一下。1.父组件传值给子组件(父传子,子直接props接收就可以,就像王位继承)父组件中:子组件中:到这里父传子的工作就做完了2.子组件给父组件传值(子传父,下级向上级汇报需要自己主动发送,也就是事件发射)子组件中:父组件中:结束希望对你有所帮助,可以手敲试试!...
2020-11-18 09:58:56 13513 3
原创 moment.js的使用方法
moment.js是一个功能丰富的日期和时间处理库,通过其简洁的 API 和强大的功能,你可以轻松地处理各种日期和时间相关的任务。尽管它已经逐渐被新的库取代,但在许多现有项目中仍然广泛使用。
2024-07-29 11:40:26 586
原创 解决vant组件在桌面端clear事件失效问题
Vant 是一个移动端的组件库,只适配了移动端设备,组件只监听了移动端的 touch 事件,没有监听桌面端的 mouse 事件, 解决办法:引入@vant/touch-emulator,这自动将 mouse 事件转换成对应的 touch 事件,使得组件能够在桌面端使用。
2024-03-27 10:52:30 605
原创 小品-代码之缘
女主角疑惑的看了他一眼,再次按他说了进行了修改(这里有个明显的敲回车的动作),再次面露惊喜的表情,看了他一眼,带着小声嘟囔了一句“咦(第二声),还剩最后一个bug了,解决了我就大功告成咯”。行行行,我改还不行么。男主角很疑惑的看了看女主角,又看了看地上的钱,然后表现了一副恍然大悟的表情,捡起硬币,看了看,揣进怀里的口袋。女主角不高兴的停止了工作,叹了口气,从兜里掏出一块钱,扔到男主角面前的地上,嘴里发出“喏”的声音,接着又再次往外挪了挪,继续工作。行行行,付钱的是大爷,你不问我,那我问你,你有对象么?
2024-02-21 11:59:48 311
原创 el-image的preview-src-list图片预览总是从第一张的问题
【代码】el-image的preview-src-list图片预览总是从第一张的问题。
2024-01-17 14:00:33 2021 1
原创 Cascader级联选择器数据回显
(在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组,若设置 false,则只返回该节点的值。注意这里的value是字符串格式,所以回显的值必须也是字符串格式。
2024-01-16 11:48:16 1420
原创 vscode折叠展开代码图标消失问题
设置输入 “Folding”默认配置是auto,想全部应用折叠功能,需要将auto改成 indentation
2023-12-11 15:52:28 495
原创 解决js加减乘除精度丢失问题
参考:https://blog.csdn.net/ycclydy/article/details/123580326。
2023-09-14 20:10:48 852
原创 js常用的数据类型判断
它对于大多数数据类型都能提供基本的类型信息,包括 “number”、“string”、“boolean”、“undefined”、“symbol”、“object”(包括 null)和 “function”。通过调用 Object.prototype.toString.call() 方法,可以得到一个以 “[object 类型]” 格式表示的字符串,其中类型即为变量的精确类型。需要注意的是,typeof null 返回 “object”,这是一个历史遗留问题,实际上 null 是一个特殊的基本数据类型。
2023-07-06 14:40:20 346
原创 什么是vue虚拟DOM
通过使用虚拟DOM,Vue能够以更高效的方式处理DOM操作。相比直接操作实际的DOM树,虚拟DOM提供了一种轻量级的中间层,使Vue可以更好地掌控DOM更新的过程,减少了昂贵的DOM操作次数,提高了性能和响应能力。在Vue中,当应用程序的状态发生变化时,Vue会使用虚拟DOM来计算出最小的DOM更新操作,并将其应用于实际的DOM树,从而提高性能和效率。最小更新:根据差异计算的结果,Vue会生成最小的DOM更新操作,将其应用于实际的DOM树,只更新发生变化的部分,而不是重新渲染整个DOM树。
2023-05-17 15:58:35 200
原创 vue和react的区别
语法差异:Vue使用模板语法,即在HTML模板中嵌入Vue的特定语法,这种语法比较易于理解和学习;而React需要使用JSX编写组件模板,需要开发者熟悉JavaScript语法和React的组件生命周期等。工具生态不同:由于React的社区较大,因此有更多的工具和库可以用于支持React开发,例如Redux等;虚拟DOM实现方式不同:Vue的虚拟DOM采用模板编译的方式,性能较高;Vue和React都是流行的前端JavaScript框架,它们有很多共同点,例如都支持组件化开发、虚拟DOM等。
2023-05-17 15:55:34 237
原创 bus用法
在Vue.js中,"bus"通常指的是事件总线(Event Bus)。事件总线是一种用于在不同组件之间进行通信的模式。它允许组件在没有直接引用对方的情况下发送和接收事件。通过以上步骤,组件A可以使用事件总线将数据发送给组件B,而组件B可以通过监听事件总线来接收数据并执行相应的操作。这种方式可以方便地实现跨组件的通信。需要注意的是,事件总线是一个全局实例,因此在较大的应用程序中使用时,请。
2023-05-17 15:42:59 114
原创 vue路由教程
在上面的代码中,我们使用组件创建了两个链接,分别对应着Home和About路径,然后使用组件作为路由的占位符,用于展示匹配到的组件。在上面的代码中,我们可以通过编程方式使用this.$router.push()方法进行路由跳转,或者使用动态路径绑定组件的to属性。在上述的示例中,路由路径为/user/:id,其中:id是动态的路由参数,当访问/user/1时,1将作为参数传递给User组件。:在Vue项目中,你需要创建一个路由实例,其中定义了路由的配置信息,包括URL路径和对应的组件。
2023-05-17 11:17:01 342
原创 js浅拷贝和深拷贝的区别及方法
会创建一个新的对象,但是新对象和原对象的一些属性指向相同的内存地址。也就是说,新对象中的一些属性只是原对象属性的引用。修改新对象中的这些属性也会影响到原对象,因为它们指向同一块内存。则是完全复制一个对象,包括对象的属性值,而不是仅仅复制对属性的引用。这样,在新对象上做任何修改都不会影响原对象。在JavaScript中,拷贝一个对象有两种方式:浅拷贝和深拷贝。它们的区别在于拷贝后的对象与原对象的关系不同。
2023-05-16 11:51:04 104
原创 js对象赋值
对象展开运算符(Spread Operator):通过使用展开运算符…,可以创建一个新对象,并将另一个对象的所有属性复制到新对象中。直接赋值:通过将一个对象的引用赋给另一个变量,它们指向同一个对象。当一个变量改变对象时,另一个变量也会反映出这个改变。Object.assign() 方法:该方法用于将一个或多个源对象的属性复制到目标对象中。它也可以用于创建一个新对象。手动属性复制:通过遍历源对象的属性,将它们逐个复制到目标对象中。
2023-05-16 11:41:53 1121
原创 浏览器地址栏输入URL到显示页面发生了什么?
浏览器根据接收到的HTML、CSS和JavaScript等资源,以及浏览器自身的渲染引擎,对页面进行解析和渲染。这个请求包含了你的URL以及其他相关的信息,例如请求方法(GET、POST等)、请求头(包含浏览器信息、所需的内容类型等)和请求体(对于POST请求)。:服务器收到浏览器发送的请求后,会进行处理。:在页面渲染过程中,浏览器还会下载页面中引用的其他资源,例如图像、样式表、脚本文件等。:浏览器会解析你输入的URL,分解成不同的组成部分,包括协议(例如HTTP或HTTPS)、主机名、路径等。
2023-05-15 17:05:13 120
原创 vue的component标签用法
在上面的示例中,我们定义了两个组件 ComponentA 和 ComponentB,然后使用 标签根据 currentComponent 的值动态地渲染不同的组件。点击 “Toggle Component” 按钮可以切换当前渲染的组件。在 Vue 中, 标签用于动态地渲染组件。它可以将一个组件的名称作为 is 属性进行动态传入,然后根据传入的组件名称渲染对应的组件。这个标签通常与 v-bind 指令一起使用,可以方便地切换不同的组件。
2023-05-13 16:44:48 1120
原创 ts语法使用教程
这里的 Person 接口定义了一个对象类型,包含 name 和 age 属性以及 sayHello 方法,Student 类实现了 Person 接口,定义了 grade 属性和重新定义了 sayHello 方法。这里的 identity 函数使用了一个泛型类型 T,它可以接受任意类型的参数,并返回相同类型的结果。这里的 Point 是一个类型别名,定义了一个包含 x 和 y 属性的对象类型,distance 函数接受两个 Point 类型的参数,返回它们之间的距离。
2023-05-11 17:51:34 432
原创 vue2.0和vue3.0代码实现原理
当数据发生变化时,Vue 2.0会先生成一颗Virtual DOM树,然后与上一次生成的Virtual DOM树进行比较,找出需要更新的部分,最后将需要更新的部分转化为真正的DOM节点进行更新。响应式系统:Vue 3.0使用了Proxy对象实现数据的响应式,与Vue 2.0使用的Object.defineProperty()相比,Proxy可以监听到更多的数据变化,性能也更好。模板编译:Vue 3.0在模板编译方面进行了优化,将编译后的代码进行缓存,避免了重复编译的过程。
2023-05-11 17:21:06 69
原创 组合式 API 包括那几部分, 各有什么功能
在 setup 函数中,我们可以使用 ref 和 reactive 来创建响应式数据,然后将这些数据和一些方法一起返回,使得它们可以在模板中使用。reactive 可以将一个对象转化为响应式对象,而 ref 可以将一个基本类型的值转化为响应式数据。在一个组件中,我们可以使用 provide 来提供一些数据,然后在子组件中使用 inject 来注入这些数据。computed 可以计算出一个响应式数据,而 watch 可以监听一个响应式数据的变化,从而执行一些副作用。
2023-05-11 17:00:49 84
原创 vue3.0是什么
Vue 3.0 引入了 Composition API,通过使用函数式的 API 来组织和管理组件逻辑,使得组件的代码更加清晰和易于维护。Composition API 还支持更好的代码重用和组合,提高了代码的复用性和可测试性。:Vue 3.0 的核心库体积比 Vue 2.0 要小很多,并且可以更好地支持 Tree-shaking,只导入使用到的模块,而不会包含无用的代码。:Vue 3.0 支持了更加灵活和高效的自定义指令和渲染函数,使得开发者可以更加容易地实现自定义的渲染逻辑和组件行为。
2023-05-11 16:49:57 103
原创 js为什么会阻塞渲染, 什么是异步?
在 JavaScript 中,异步操作通常使用回调函数、Promise、async/await 等机制来处理操作完成后的结果。异步编程可以帮助提高程序的性能和响应性,避免程序的阻塞和卡顿现象,常用于处理网络请求、I/O 操作、定时器、事件处理等场景。JavaScript 中的异步指的是在执行代码时,某些操作会被推迟到后面再执行。当异步操作完成后,它会通知 JavaScript 引擎并将结果传递给处理函数进行处理。:使用 Promise 封装异步操作,通过 then 方法链式调用多个异步操作,处理操作结果。
2023-05-11 16:26:57 1209
原创 为什么渲染进程不适用多个线程来处理事情
虽然单线程处理可能会存在一些缺点,如无法充分利用多核CPU等问题,但是它是目前浏览器渲染进程的常用处理方式,可以通过事件循环和异步编程等技术来提高程序的性能和并发处理能力。高效节省:单线程处理可以避免多线程处理中的上下文切换和内存消耗等问题,从而提高了程序的性能和节省了系统资源。简单易用:单线程的处理方式更加简单易用,开发人员不需要考虑多线程处理中的竞态条件、同步问题和安全问题。可靠稳定:单线程处理避免了多线程处理中的死锁和资源争用等问题,从而提高了程序的可靠性和稳定性。
2023-05-11 16:22:12 1716
原创 浏览器渲染进程是如何工作的
总的来说,浏览器渲染进程是浏览器中的一个重要进程,它负责处理页面的渲染和交互。渲染进程的工作流程包括解析HTML文档、构建渲染树、执行布局和绘制、处理交互事件以及进行回流和重绘等操作。:渲染进程根据渲染树进行布局计算,确定每个节点的位置和大小等属性。然后,渲染进程将渲染树的节点转化为图形元素,并通过GPU进行绘制。:渲染进程将DOM树和CSSOM树合并,构建出渲染树。渲染树的构建过程中,浏览器会进行布局计算和样式计算等操作。浏览器渲染进程是浏览器中的一个重要进程,它负责处理页面的渲染和交互。
2023-05-11 16:20:02 125
原创 什么是浏览器线程
此外,多线程也需要处理线程间的通信和协调,保证程序的正确性和稳定性。与进程不同,线程之间的切换开销比进程小得多,因为线程共享了进程的内存空间,线程间的数据交换和通信更加方便和快捷。一个进程可以包含多个线程,它们共享进程的内存空间和资源,但每个线程都有自己的堆栈和局部变量等信息。总的来说,线程是操作系统中能够被CPU调度和执行的最小单位,它提高了程序的并发性和效率,但也需要开发者采取一些措施来避免线程安全和同步等问题。线程可以看作是进程中的独立执行流,它具有自己的执行路径、状态和优先级等属性。
2023-05-11 16:11:38 146
原创 浏览器进程模型
浏览器进程模型是指浏览器如何组织和管理进程以实现多页面、多标签、插件和扩展等功能。下面是浏览器进程模型的主要组成部分:浏览器进程(Browser Process):负责管理浏览器的主要功能,如管理所有的标签页和窗口、下载和安装插件、处理网络请求等。每次启动浏览器时,都会创建一个浏览器进程。渲染进程(Renderer Process):负责渲染网页内容,并将其显示在浏览器窗口中。每个标签页都会有一个单独的渲染进程,避免一个页面的崩溃影响到其他页面。GPU进程(GPU Process):负责处理浏览器中的图形操
2023-05-11 16:05:29 502
原创 http常见的状态码及解释
304 Not Modified: 客户端发送了一个有条件的请求,服务器确认资源未发生变化,返回304响应。101 Switching Protocols: 客户端请求切换协议,服务器已确认并进行切换。504 Gateway Timeout: 充当网关或代理的服务器,未及时从远程服务器接收响应。100 Continue: 服务器已收到请求头,并且客户端应该继续发送请求主体。204 No Content: 请求已成功处理,但无响应内容。201 Created: 请求已成功处理,并创建了新的资源。
2023-05-11 16:00:16 584
原创 郑州各区发展特点
该区位于郑州市的中心地带,拥有丰富的历史文化遗产和现代化的商业中心,主要发展重点是现代服务业、金融业、高端商业和文化旅游业。该市位于郑州市的南部,拥有优美的自然环境和丰富的农业资源,主要发展重点是现代制造业、现代服务业和现代农业。该市位于郑州市的东部,拥有丰富的自然资源和文化资源,主要发展重点是现代服务业、高端制造业和高新技术产业。该市位于郑州市的西南部,拥有丰富的旅游资源和生态资源,主要发展重点是现代服务业、文化旅游业和生态农业。:金水区是郑州市的新兴商业区,也是郑州市的商业、金融、文化和科技中心之一。
2023-05-10 11:40:19 662
原创 js数组去重方法
可以使用Map数据结构进行去重,Map对象是一组键值对的集合,其中键是唯一的,可以使用Map来存储不重复的值。可以使用ES6中的Set数据结构进行去重。Set对象是一组不重复的值的集合,可以轻松地从数组中删除重复项。可以使用reduce()方法和includes()方法来创建一个新数组,其中包含原始数组中不重复的元素。使用filter()方法和indexOf()方法可以创建一个新数组,其中包含原始数组中不重复的元素。
2023-05-10 09:34:22 65
原创 js数组遍历
使用该方法时,需要传入一个回调函数作为参数,该回调函数会被每个元素执行一次,回调函数的参数分别为元素的值、元素的索引、整个数组。:也是 ES5 新增的方法,它可以遍历数组并返回一个新的数组。:遍历数组中的每一个元素,对每个元素执行回调函数,如果回调函数返回true,则返回true,否则返回false,只要有一个元素满足条件,就返回true。:遍历数组中的每一个元素,对每个元素执行回调函数,如果回调函数返回true,则继续遍历,否则返回false,只有所有元素都满足条件,才返回true。
2023-05-10 09:26:40 1150
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人