自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数组的方法,使用方式

语法:array.splice(start, deleteCount, element1, element2, ...);语法:array.unshift(element1, element2, ...);语法:array.push(element1, element2, ...);语法:array.concat(array1, array2, ...);示例:let array = [1, 2, 3, 4, 5];示例:let array = [1, 2, 3, 4, 5];

2023-12-29 11:03:49 840

原创 三次握手四次挥手

通过三次握手,客户端和服务器能够确保双方都能够正常通信。通过四次挥手,双方能够安全地关闭连接,释放资源。这种握手和挥手的过程保证了可靠的数据传输和连接的正常终止。三次握手(Three-way handshake)和四次挥手(Four-way handshake)是TCP协议中用于建立和终止连接的过程。

2023-12-29 10:38:46 430

原创 wxml与标准的html的异同

总结来说,WXML和HTML都是用于构建前端界面的标记语言,它们在语法结构、元素标签、样式和布局、兼容性等方面存在一些异同。开发者需要根据具体的开发平台和需求选择使用适当的标记语言。WXML和标准的HTML是两种不同的标记语言,用于构建不同的前端界面。它们之间存在一些异同点。

2023-12-26 16:21:56 752

原创 页面刷新,vuex的state丢失

请注意,使用本地存储来保存Vuex的状态可能会带来一些安全性和性能方面的考虑。此外,使用本地存储可能会导致一些性能方面的影响,因为每次页面加载时都需要从本地存储中获取状态。在页面刷新时,你可以从本地存储中获取之前保存的状态,并将其重新设置到Vuex中。当页面刷新时,Vuex的状态(state)将会重置,这是因为Vuex的状态是保存在内存中的,而不是持久化保存在本地或后端服务器中。在上面的代码中,我们在页面刷新之前将Vuex的状态保存到本地存储中,并在页面加载时从本地存储中获取状态并设置到Vuex中。

2023-12-26 16:08:08 499

原创 数据改变视图不相应

数据没有被正确绑定:Vue中的数据绑定是双向的,也就是说当数据发生变化时,视图会更新,当视图发生变化时,数据也会更新。如果你没有正确地将数据绑定到视图上,那么当数据发生变化时,视图也不会更新。选项定义的数据才是响应式的,也就是说当数据发生变化时,视图会自动更新。如果你在Vue实例之外定义的数据,并且没有将其添加到Vue实例的。或Vue实例的属性。不正确地修改了数据:在Vue中,如果要让视图更新,你必须使用Vue提供的方法来修改数据,比如。数据没有被响应式地定义:在Vue中,只有通过Vue实例的。

2023-12-26 16:04:41 338

原创 使用 vuex 的优势是什么?它主要解决什么问题?

Vuex提供了一个集中式的状态管理方案,可以帮助我们更好地组织、管理和共享应用的状态。可预测的状态管理:Vuex使用了单向数据流的概念,使得状态的变化变得可预测和可追踪。所有对状态的修改都必须通过提交mutation来进行,这样我们可以清楚地知道状态是如何变化的,并且可以方便地进行调试和追踪。总结来说,Vuex的主要优势是它提供了一个集中式的状态管理方案,能够更好地组织、管理和共享应用的状态。它解决了Vue应用中的状态管理问题,并提供了可预测的状态变化、插件化的扩展性和更好的开发体验。

2023-12-26 16:01:50 541

原创 vue组件中data为什么必须是个函数

如果将data选项直接定义为一个对象,则会导致所有实例共享同一个数据对象,这样会导致一个实例的数据变化会影响到其他实例。另外,使用函数的方式还可以防止在组件复用时,数据对象被意外修改。因为函数会在每次访问数据时都返回一个新的数据对象,而不是返回同一个对象的引用。通过将data选项定义为一个函数,每个实例都会调用该函数来获取一个全新的数据对象,这样每个实例就拥有了独立的数据。总结来说,将data选项定义为一个函数是为了确保每个组件实例都拥有独立的数据,并且能够避免数据共享和修改的问题。

2023-12-26 15:58:58 367

原创 vue如何做数据持久化

使用浏览器的本地存储(LocalStorage或SessionStorage):你可以使用浏览器提供的LocalStorage或SessionStorage来将数据保存在浏览器中。你可以在Vue的生命周期钩子中读取和写入本地存储。使用后端服务器进行数据持久化:如果你的应用需要在不同用户之间共享数据,或者需要将数据存储在安全的地方,你可以将数据发送到后端服务器进行存储。在后端服务器上,你可以使用相应的后端框架(如Express.js)来接收请求并将数据保存到数据库或其他存储介质中。

2023-12-26 15:57:04 827

原创 vue-loader是什么,使用它的用途有哪些

支持单文件组件的开发方式:通过vue-loader,可以使用单文件组件的方式来开发Vue.js应用,将模板、样式和脚本组织在一个文件中,使代码更加清晰和易于维护。vue-loader是Vue.js开发中一个重要的工具,它简化了单文件组件的开发过程,提供了热重载和预处理器支持等功能,提高了开发效率和代码质量。解析.vue文件:vue-loader可以解析.vue文件中的模板、样式和脚本,并将它们分离出来进行处理。

2023-12-26 15:53:17 505

原创 Vue3父子组件生命周期执行顺序

父组件:beforeCreate -> created -> beforeMount -> 子组件beforeCreate -> 子组件created -> beforeMount -> 子组件mounted -> 父组件mounted。在Vue3中,子组件的beforeMount和mounted钩子函数会在父组件对应的钩子函数之前执行,这是因为在Vue3中,子组件的setup函数执行时会先于父组件的beforeMount和mounted钩子函数。在父组件中,可以使用ref来访问子组件的实例。

2023-12-26 15:47:56 2015

原创 vue2父子组件生命周期执行顺序

父组件:beforeCreate -> created -> beforeMount -> 子组件beforeCreate -> 子组件created -> 子组件beforeMount -> 子组件mounted -> 父组件mounted。当父组件销毁时,子组件的生命周期执行顺序为:beforeDestroy -> 子组件beforeDestroy -> 子组件destroyed -> destroyed。在子组件中,如果需要访问父组件的生命周期钩子函数,可以使用$parent来访问父组件的实例。

2023-12-26 15:44:18 817

原创 vuex 的 state、getter、 mutation、action、module 特性分别是什么?

总结起来,State 是存储应用状态的地方,Getter 是获取派生状态的函数,Mutation 是同步修改 State 的方法,Action 是包含异步操作的提交 Mutation 的方法,Module 是将 Vuex 拆分为多个模块来管理的方式。Module(模块):Module 是将 Vuex 拆分为多个模块的方式,每个模块都有自己的 State、Getter、Mutation 和 Action。在 Vuex 中,State 是响应式的,当 State 发生变化时,相关的组件也会自动更新。

2023-12-26 10:34:23 571

原创 响应式数据原理(数据劫持)数据双向绑定

Proxy。

2023-12-26 10:29:18 436

原创 Vue3带来了什么改变

更好的性能:Vue 3 在性能方面进行了一些优化,例如编译时的静态标记和树摇优化,减少了运行时的代码量和内存占用。Vue 3 也引入了一种新的渲染机制,称为“Fragment + Teleport”,用于更高效地处理动态组件和跨组件的渲染。响应式系统重写:Vue 3 使用了一个称为“Proxy”的新的响应式系统,取代了 Vue 2 中的“Object.defineProperty”。更小的包体积:Vue 3 对包体积进行了优化,移除了一些不常用的 API 和功能,使得最终的打包文件更小。

2023-12-21 11:08:45 380

原创 解释 Git 的基本概念和使用方式。

远程仓库(Remote Repository):远程仓库是位于网络上的一个仓库,用于团队协作和代码共享。提交(Commit):提交是对项目的一次保存操作,它包含了一组修改的描述和相关的文件变化。合并(Merge):合并是将一个分支的修改合并到另一个分支的操作。通过合并,可以将多个分支的修改合并成一个统一的版本。以上是 Git 最基本的概念和使用方式,还有更多高级的操作和命令可以用于处理复杂的开发场景。仓库(Repository):Git 仓库是一个项目的目录,包含项目的所有文件和历史记录。

2023-12-21 10:58:07 344

原创 Vue实现嵌套路由

然后,我们在routes数组中定义了两个路由,一个是根路由'/'对应Home组件,另一个是/about对应About组件,并且在About组件中定义了两个子路由:/about/contact对应Contact组件和/about/profile对应Profile组件。在浏览器中访问根路由'/'时,将会渲染Home组件;访问'/about/profile'时,将会渲染Profile组件。安装完成后,在你的Vue项目中创建一个router文件夹,并在其中创建一个index.js文件,用于定义和配置路由。

2023-12-21 10:48:52 552

原创 小程序传值方法有哪几种

Storage传值:可以使用小程序的Storage API将需要传递的数据存储在本地缓存中,然后在目标页面中通过Storage API来获取传递的数据。全局变量传值:可以将需要传递的数据存储在小程序的全局变量中,然后在目标页面中通过全局变量来获取传递的数据。函数获取当前页面栈的实例数组,通过遍历实例数组找到目标页面的实例,然后直接调用目标页面的方法来传递数据。URL参数传值:可以通过在页面跳转时将参数以URL参数的形式传递给目标页面。方法派发事件,并携带需要传递的数据,在目标页面中通过。

2023-12-21 10:44:53 332

原创 小程序图片如何转base64

回调函数中获取到图片的Base64字符串。你可以根据自己的需求使用该Base64字符串进行操作。替换为你实际的图片文件路径。

2023-12-21 10:42:00 463

原创 小程序实现单页面禁用分享

需要注意的是,这种方法仅仅禁用了页面的分享功能,其他页面仍然可以正常分享。如果需要在整个小程序中禁用分享功能,可以在小程序的app.js文件中的onShareAppMessage方法中返回一个空对象{},这样整个小程序中的分享功能都将被禁用。在小程序中,可以通过设置页面的onShareAppMessage方法来禁用分享功能。通过返回一个空对象,即可禁用该页面的分享功能。这样,在该页面中点击分享按钮时,将无法触发分享操作。这样设置之后,整个小程序将无法触发任何分享操作。打开需要禁用分享功能的页面的代码文件。

2023-12-21 10:40:44 1046

原创 深拷贝和浅拷贝的区别和实现方法

深拷贝是指创建一个新的对象,新对象的属性值是原对象属性值的副本。当原对象的属性值发生变化时,新对象的属性值不会受到影响。浅拷贝是指创建一个新的对象,新对象的属性值是原对象的引用。当原对象的属性值发生变化时,新对象的属性值也会同时发生变化。需要注意的是,使用JSON.parse(JSON.stringify())方法深拷贝对象时,如果对象中存在函数、正则等特殊类型的属性,这些属性会在序列化过程中被忽略掉。总结起来,浅拷贝只是拷贝了对象的引用,而深拷贝则是拷贝了对象的值。

2023-12-21 10:20:53 331

原创 Vue3 组件传值

这些方法提供了不同的传值方式,可以根据具体的需求选择适合的方法。无论是使用Props还是Provide / Inject,都能实现组件之间的数据传递。在Vue 3中,有多种方法可以进行组件之间的传值。

2023-12-21 10:15:06 480

原创 VUE3生命周期

这种基于组合式 API 的生命周期系统使得代码更清晰、可组合,并更好地支持了Vue 3的新特性,例如Composition API。它提供了更灵活、更强大的生命周期管理方式,使得我们可以更好地控制组件的生命周期逻辑。然而,在Vue 3中,这些传统的生命周期钩子函数被摒弃了。取而代之的是,Vue 3引入了基于组合式 API 的生命周期系统。在Vue 2中,我们使用一系列的生命周期钩子函数来处理组件的生命周期逻辑,例如。函数中按需使用,并且可以根据需要进行组合。函数中使用模拟钩子函数来处理组件的生命周期逻辑。

2023-12-21 10:12:12 337

原创 接口请求方法有哪些

这些是常见的接口请求方法,根据具体的需求和接口设计,选择合适的请求方法来实现对资源的操作。

2023-12-20 16:53:48 473

原创 v-if为什么会失效,什么情况下会失效

v-if 是 Vue中的一个指令,用于根据表达式的值的真假来切换元素的显示和隐藏。在大多数情况下,v-if 是可靠的,但是有一些情况下它可能会失效:

2023-12-20 15:31:46 1924

原创 HTTP状态码

HTTP状态码是在进行网页浏览时,Web 服务器向浏览器返回的一个特定的状态码。这些状态码告诉浏览器和用户发生了什么,是成功、失败还是其他情况。

2023-12-20 15:27:14 298

原创 vue3之Composition API详解

Composition API是Vue3.0中最重要的新特性之一,它使得组件内部逻辑更加清晰、可组合性更强,让我们能够更方便地重用代码、提高代码的可读性和可维护性。虽然Composition API还不是很成熟,但是它已经得到了越来越多开发者的认可和使用,相信在未来的开发中,它会变得更加完善和强大。

2023-04-28 15:40:54 386

原创 ES7

ES7引入了许多新的语言特性和功能,包括箭头函数、数组方法、对象方法、Async/Await语法、和方法等。这些功能不仅提高了JavaScript的可读性和灵活性,也使得异步编程更加简洁易懂。如果你正在开发JavaScript应用程序,那么学习ES7的新特性是非常值得的!

2023-04-28 15:35:53 875

原创 vue-router 的导航钩子

通过使用 Vue-router 的导航钩子,我们可以在路由跳转前或跳转后进行一些操作,例如权限验证、数据预加载等。Vue-router 提供了全局前置守卫、全局解析守卫和全局后置钩子,以及路由独享守卫和组件内守卫,可以根据具体情况选择合适的导航钩子来完成对应的操作。需要注意的是,在使用导航钩子时要避免出现无限循环的情况,否则会导致浏览器崩溃。同时,导航钩子也不能完全替代服务端渲染和骨架屏等优化方式,需要在实际项目中综合考虑并选择最优方案。

2023-04-28 15:32:32 492

原创 Vue3的新特性

Vue3带来了许多新的功能和改进。Composition API 使得组织和编写代码变得更加容易。TypeScript 支持使得在Vue项目中使用TypeScript变得更加简单。Teleport 允许我们更方便地渲染组件到不同的位置,这对于实现一些特殊效果非常有用。此外,Vue3还包含了其他一些改进,如 Fragment、更好的可访问性支持和更快的渲染性能。如果你正在使用Vue开发应用程序,那么Vue3的新特性可能会给你带来很大的帮助。

2023-04-28 14:54:36 325

原创 闭包

综上所述,闭包是一种非常有用的编程技术,可以实现许多高级的程序设计技巧,并且可以保留函数的执行环境,延长变量的生命周期,实现数据的私有化等功能。通常情况下,函数的作用域仅限于函数内部,函数执行完毕后,其内部的变量和函数也会被销毁。可以保留函数的执行环境:由于闭包是一种特殊的函数,在返回时会将其定义的执行环境一并返回,因此可以保留函数的执行环境,对于某些特殊的需求非常有用。可以实现数据的私有化:因为闭包中的变量和函数只能被内部函数所访问,所以可以实现数据的私有化,防止外部代码对闭包中的变量和函数进行操作。

2023-04-28 10:45:00 38

原创 状态码

在 HTTP 协议中,状态码是服务器对请求的响应结果进行描述的数字代码。它们被设计为快速、简要地指示HTTP请求的结果。每个状态码都有一个与其关联的含义和用途。

2023-04-28 10:33:15 66

原创 Vue子组件不能直接更改props的原因以及单向数据流

Vuex是Vue的状态管理库,它提供了一个集中式的存储机制来管理应用程序中的所有组件的状态。通过使用Vuex,我们可以在子组件中派发一个事件,触发父组件的方法来更新props中的数据。如果子组件可以修改props中的数据,那么将会打破单向数据流的规则,导致数据变得难以追踪和维护。综上所述,Vue遵循单向数据流的概念,子组件不能直接修改父组件中通过props传递的数据。通过派发事件并在父组件中定义一个方法来更新props中的数据,我们可以保持单向数据流的规则,使应用程序更加易于维护和理解。

2023-04-28 10:21:20 1281

原创 Watch、computed、methods区别

在Vue开发中,我们经常会使用到watchcomputed和methods这三种方式来处理对数据的操作。这三者虽然都可以监听数据的变化并实现相应的逻辑,但它们之间还是存在一些区别的。

2023-04-28 10:14:37 101

原创 Vue2与Vue3区别

Vue3与Vue2相比,具有许多重大的改进,包括更好的性能、Composition API、TypeScript支持、Teleport等。如果您正在使用Vue,那么您应该考虑升级到Vue3。然而,请注意,由于Vue3与Vue2存在某些API差异,因此需要进行适当的迁移。

2023-04-28 10:08:51 88

原创 Vue与React两者区别

Vue和React是两个非常流行的前端框架,它们都有着广泛的应用和支持。尽管这两个框架都提供了相似的功能,但实际上它们之间存在一些重要的差异,包括组件化处理方式、数据绑定、渲染方式和生命周期的实现方式等等。选择哪一个框架取决于你的个人喜好、项目需求和开发团队的技能水平。

2023-04-28 10:06:15 224

原创 作用域和作用域链

/ 定义全局变量a function foo() { console.log(a);所以,如果在函数内部定义了一个与外部同名的变量,那么函数内部的变量将覆盖外部的变量。在上面的例子中,函数内部定义了一个与全局变量同名的局部变量a,因此在函数内部访问变量a时,返回的是局部变量的值2,而不是全局变量的值1。在上面的例子中,当bar函数访问变量a时,在bar函数内部没有找到,于是向上一级函数foo继续查找,发现有变量a,因此输出结果为6。局部作用域是指在函数内部定义的变量和函数,它们只能在该函数内部访问。

2023-04-27 12:45:38 36

原创 回流与重绘

回流指的是 当页面中的元素发生改变时,浏览器需要重新计算页面布局、确定元素的位置和大小等,最终在屏幕上进行渲染的过程。由于这个过程涉及到多个元素相互影响,因此它的代价相对较高,会导致页面卡顿或闪烁。而重绘指的是 当页面中的元素样式发生改变时,浏览器只需要重新绘制被更改的部分,然后在屏幕上进行渲染的过程。由于不需要重新计算布局,因此它的代价相对较低,但也不可忽视。

2023-04-27 10:54:28 141

原创 宏任务与微任务

在JavaScript中,我们经常听到宏任务和微任务这两个概念,它们往往涉及到异步操作以及事件循环。在深入了解它们之前,我们需要先了解一下JavaScript中的调用栈、堆和事件循环。

2023-04-27 10:35:23 61

原创 从输入URL到显示页面

随着互联网的普及,我们已经习以为常地使用了各种浏览器来访问网站。但是,当我们在地址栏中输入URL并点击Enter时,发生了什么呢?本文将介绍从输入URL到显示页面的一系列过程。

2023-04-27 10:23:09 150

原创 CSS3

这将使`.container`元素变为一个Flex容器,其子元素`.item`可以通过设置`flex: 1`来平均占据可用空间,并且使用`justify-content: center`和`align-items: center`使得`.item`元素在垂直和水平方向上都居中对齐。这将使<div>元素顺时针旋转45度,横向和纵向缩放1.5倍,横向倾斜10度,纵向倾斜20度,并在横向和纵向各移动50像素和100像素。它接受多个参数,包括过渡属性、过渡时间、过渡速度和过渡延迟。

2023-04-27 09:11:56 55

空空如也

空空如也

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

TA关注的人

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