- 博客(28)
- 收藏
- 关注
原创 一些常见的css参数
justify-content: 设置子元素在主轴(水平轴)上的对齐方式,可以为flex-start(靠左对齐,默认值)、flex-end(靠右对齐)、center(居中对齐)、space-between(两端对齐,项目之间间隔相等)或space-around(每个项目两侧的间隔相等)。在这个示例中,容器的尺寸为200px × 200px,而图像的原始尺寸与容器的尺寸不匹配。在使用弹性容器进行网格布局时,可以使用flex-wrap属性来实现自适应的网格布局,根据容器宽度的变化,自动调整子元素的排列和数量。
2023-08-08 20:40:44
697
原创 如何在url上拼接对象参数
如果已经存在具有相同名称的参数,则会将新参数添加到已有参数的后面。该代码的主要逻辑是将obj对象转换为JSON字符串并进行URL编码,然后将编码后的参数添加到URLSearchParams对象中。set(name, value) 方法:此方法会将指定名称的参数的值设置为新的指定值。set(name, value):将URLSearchParams对象中具有指定名称的参数的值设置为新的指定值。getAll(name):获取URLSearchParams对象中具有指定名称的所有参数的值,返回一个数组。
2023-08-08 11:34:19
2249
原创 如何使用Zustand做全局状态管理(一)
在Redux中,你需要创建一个store来存储应用程序的状态,然后通过Provider将store传递给应用程序的其他组件。这意味着你需要在应用程序中引入Redux的上下文,并在需要访问状态的组件中使用connect函数来连接store。而在Zustand中,你只需要定义一个状态,然后通过useStore hook来访问它。参数,它代表浅层比较,即只会比较数组或对象的引用是否相同,而不会比较数组或对象的内容是否相等,以减轻性能对消耗,但也可能造成不必要的错误。,可以用来更新嵌套值,也可以使用。
2023-07-27 17:42:23
1106
原创 如何使用Redux做全局状态管理(一)
和 Flux 一样,Redux 规定,将模型的更新逻辑全部集中于一个特定的层(Flux 里的 store,Redux 里的 reducer)。Flux 和 Redux 都不允许程序直接修改数据,而是用一个叫作 “action” 的普通对象来对更改进行描述。应用中所有的 state 都以一个对象树的形式储存在一个单一的 store 中。惟一改变 state 的办法是触发 action,一个描述发生什么的对象。createStore() 的第二个参数是可选的, 用于设置 state 初始状态。
2023-07-27 13:55:50
276
原创 React-router的outlet组件
因此,在你的代码中,当路径为’/markdown’时,React Router会查找匹配的Route组件,并从它的RouteContext对象中获取对应的Outlet组件,然后将它渲染到页面上,从而实现了路由切换。这种通过React Context实现组件查找的方式可以让React Router更加灵活和高效,因为它避免了通过props层层传递组件的麻烦,同时也提高了性能,因为组件查找过程不需要通过组件树进行逐层查找,而是直接从Context中获取所需组件,从而避免了大量的props传递和组件重复渲染。
2023-07-19 21:34:12
3168
原创 Muise demo目录结构详解
这个页面类型通常包含一个音乐主题容器和一些主题项,每个主题项通常包含一个封面图像、一个标题和一些描述信息等,可以通过轮播或滚动的方式展示多个主题项。在该文件中,开发者可以列出不需要进行代码检查的文件或目录,以避免Stylelint对这些文件进行无用的检查。.prettierignore和.prettierrc.js都是用于配置和定制Prettier工具(一个代码格式化工具)的文件,但它们的作用和使用方式是不同的。组件内部的错误的组件。目录包含了所有的页面组件,用于展示和呈现应用程序的功能和界面。
2023-07-14 18:08:55
310
原创 如何获取用户当前位置并生成国际拨号前缀+验证不同国家的手机号格式
该demo使用了HTML5的Geolocation API和Google Maps API来获取用户的位置信息,应用libphonenumber库将位置信息转换为国际拨号前缀并在页面默认展示,同时能够严格验证246个国家的手机号格式。如果感兴趣的话可以看下去~
2023-02-24 21:13:41
1589
原创 双指针可以解决的几类问题(持续整理)
*原理:**使用双指针,令一个指针从左到右遍历,一个指针从右到左遍历,两个指针同时移动一个位置,每次都判断两个指针指向的字符是否相同,如果都相同,字符串就是具有左右对称性质的回文字符串。**原理:**设有三个指针i、j、k,i = nums1.length -1,j = nums2.length -1,k = nums1.length + nums2.length -1,从尾遍历,比较i和j的大小,进行覆盖。**原理:**设相交链表长度为c,长链表A、短链表B分开时各自的长度为a、b,则A的长度为。
2023-01-12 06:08:07
376
原创 【js】leetcode双指针(二):680回文字符串、88归并两个有序数组题解
还是跟着大佬:https://github.com/CyC2018/CS-Notesleetcode题解顺序来刷的,本篇文章两个题目的主要原理依然是双指针。所谓的方法递归,就是在一个方法(函数)执行的内部,自己调用了自己的过程,称之为 “递归”。递过程:函数不断地调用自身,直到走到函数的终止条件,第一阶段结束。归过程:函数不断地返回的过程。例如,我们求 N!起始条件:N = 1 的时候,N!为 1。这个起始条件相当于递归的结束条件。递归公式:求 N!,直接不好求,可以把问题转换成 N!
2022-12-14 06:42:13
194
原创 如何在vue2项目中使用Swiper5组件
之前做的业务需要在vue2中插入一个Swiper组件,但是尝试了很多次都一直失败,官方文档和能搜索到的方法也对我不太有用,总是报错!在vue2项目中,Swiper5相对来说更好使用。Swiper7的默认容器是’.swiper’,Swiper6之前是’.swiper-container’。,但讲的是Swiper7/Swiper8在vue3中的使用,不适用于vue2项目。这一步用到了Swiper的真实DOM结构,在vue项目里应该写在生命周期。的项目,并想在其中插入Swiper组件,可以继续阅读这篇文章。
2022-12-14 05:02:35
3302
4
原创 【Day2】js高级:箭头函数(涉及如何简写、this指向相关知识点)
本篇文章是关于js高级知识点梳理的第二篇,会谈到有关于箭头函数的知识点。箭头函数如何简写,以及箭头函数中的this指向,都是在应用中非常值得我们注意的问题。这就是本篇文章对箭头函数的简单讲解和分析了。今天其实还需要整理一下Promise对象的相关知识点,但以前已经整理过了,故在这篇文章不再赘述。详情可见Promise对象详解(涉及回调地狱的解决、async&await的使用)。
2022-12-12 06:37:28
499
原创 【Day1】js高级:涉及let/var/const的异同,解构,rest,拓展运算符的相关知识点
最近在复习js高级,会做一些知识点的总结。本篇文章会谈到let/var/const的异同,各种不同类型的解构,rest,拓展运算符的相关知识点。那么就开始吧~首先,在讲解js高级前,我们不得不谈到ES6。,而我们说的ES就是指 ECMAScript。ECMAScript就是一种语法标准,规定了这个语言的语法要如何书写,何种语法有何种作用。
2022-12-12 04:17:25
337
原创 【js】leetcode双指针(一):167两数之和Ⅱ、633两数平方和、345反转字符串中的元音字符题解
字符串是受限的序列与典型的序列类型。它不具备列表的如下操作:append()、clear()、copy()、insert()、pop()、remove(),等等。其中,append()、insert()、pop() 和 remove(),这些方法都是对单个元素的操作,但是,字符串中的单个元素就是单个字符,通常没有任何意义,我们也不会频繁对其做增删操作,所以,字符串没有这几个方法。不知道具体循环次数,只知道结束条件时,使用while循环。两者的功能是相似的。的顺序在慢慢刷,本篇文章讲到的是双指针。
2022-12-11 09:45:38
129
原创 vue:如何携带token发送请求获取用户信息(会穿插一些关于aysnc&await执行顺序、宏任务&微任务相关知识)
上一篇文章讲到了如何应用路由监听或组件重载让登录状态保持,这篇文章主要讲解如何携带token发送请求获取用户信息,会穿插一些关于aysnc&await执行顺序、宏任务&微任务相关知识,同时对一些在该过程中出现的bug进行分析。以上就是今天要讲的内容,下一篇该系列文章会将首页渲染完成,并开始处理详情页的渲染。
2022-12-11 01:41:26
3956
原创 vue:如何应用路由监听或组件重载让登录状态保持
上一篇文章讲到了如何设计网页的微信扫码登录功能,这篇文章主要讲解如何应用路由监听或组件重载让登录状态保持。当页面发生切换时,我们希望已经登录好的用户状态能一直保留,这一功能通过路由监听或组件重载的方式都是可以实现的。那么开始啦~本篇文章主要讲解了如何应用路由监听或组件重载让登录状态保持。
2022-11-01 06:12:14
802
原创 vue:如何设计网页的微信扫码登录功能
上一篇文章讲到了如何根据不同的需求展示不同的弹框组件,这篇文章主要讲解如何设计网页的微信登录扫码功能。那么就开始吧!本篇文章主要讲解了如何设计网页的微信登录扫码功能。httpshttpshttps。......
2022-07-31 21:45:40
5032
1
原创 Three.js入门(涉及如何让平面物体变成立体的、添加坐标辅助系、物体移动)
使用控制器(controls)。创建main01.js,复制main.js的内容。1.在最开始导入轨道控制器:2.创建轨道控制器:OrbitControls( object : Camera, domElement : HTMLDOMElement ) object: (必须)将要被控制的相机。该相机不允许是其他任何对象的子级,除非该对象是场景自身。由于浏览器是不断刷新的,我们应该手动反复渲染,因此调用如下函数,并使用方法**requestAnimationFrame()**请求动画帧:二、如
2022-06-28 17:51:01
913
原创 Three.js入门(涉及本地搭建threejs官方网站、使用parcel搭建three.js开发环境等)
我跟的课程:https://www.bilibili.com/video/BV1Gg411X7FY?p=3&spm_id_from=pageDriver&vd_source=d45e199a358edbf199494ee895775ab3本文是我自己整理的课程笔记,因为最近的项目要使用three.js,我就开始学习啦,需要的话大家也可以跟着这位老师的课程看我的笔记。在github.com/mrdoob/three.js/中,点击SSH,Download ZIP,得到压缩包后,拖入Vscode,在集中终端中打
2022-06-27 17:46:29
4381
2
原创 vue:toast组件的设计与优化
上一篇文章讲到了toast组件的样式以及淡入、淡出的过渡动画设计。这篇文章主要讲解如何根据不同的需求展示不同的弹框组件。我希望不同的用户处理显示不同的弹框消息和图标,因此我设计了一个msg值传入弹框消息,type值绑定iconfont图标,以此来实现我的需求。type值分为3个,success表示消息发送成功,warning表示警告,danger表示消息发送失败。代码如下:2.在需要的地方传入msg和type值首先进行引入:调用:3.代码优化及复用为了防止每次需要调用函数的地方都要开启、关闭toa
2022-06-01 09:46:21
1160
原创 Vuex详解
文章目录Vuex1、官方定义2、实际场景3、什么时候用Vuex4、安装Vuex5、State6、Getters7、Mutations8、Actions9、辅助函数10、Module11、拆分写法之前写项目的时候发现自己对Vuex还不是那么熟练,又重新翻看了一次笔记!Vuex1、官方定义Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。说得直白点,vuex就是vue.js中管理数据状态的一
2022-05-24 21:05:33
467
原创 Promise对象详解(涉及回调地狱的解决、async&await的使用)
文章目录一、Promise对象2.1、Promise简介2.2、Promise产生背景2.3、Promise的基本使用2.4、使用Promise解决回调地狱2.4.1、如何解决多重请求(回调地狱)2.4.2、简化多重请求的promise写法2.5、Promise的方法使用2.6、异步代码同步化之前发现自己对async&await的理解没有那么深,所以翻出笔记又看了一遍!一、Promise对象2.1、Promise简介Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事
2022-05-24 20:54:45
752
原创 vue:如何设计网页登录功能(涉及登录状态的切换、toast组件设计弹框)
文章目录一、前言二、登陆状态的切换1.注册LoginStatus组件2.在全局`index.js`文件中进行引入3.在`Login.vue`中引入并解构三、toast组件设计弹框1.新建`Toast.vue`书写组件及其样式2.在`App.vue`中引入toast组件3.注册ToastStatus组件4.在全局`index.js`文件中进行引入5.在`App.vue`中调用mapState6.为Toast组件设计进场、离场过渡动画四、总结一、前言上一篇文章介绍了如何实现短信验证码倒计时、实现手机登录并
2022-05-23 21:05:44
950
原创 vue:如何设计网页登录功能(涉及信验证码倒计时、手机登录和token存储)
文章目录一、前言二、“发送验证码”功能分析三、“发送验证码”步骤1.绑定点击事件2.统一处理code不为0的情况四、“登录”功能分析五、“登录”步骤1.绑定v-model,获取用户输入验证码2.在data中注册对象3.书写登录接口PhoneReginAPI4.函数设计六、总结一、前言上一篇文章介绍了如何设计并封装请求拦截器和响应拦截器、实现统一接口管理。这一篇文章将会介绍如何实现短信验证码倒计时、实现手机登录并储存token的功能。二、“发送验证码”功能分析在本项目中,点击“获取验证码”按钮后,
2022-05-22 21:44:25
663
原创 vue:如何设计并封装请求拦截器和响应拦截器、实现统一接口管理
文章目录一、前言二、步骤1.请求拦截器的必要性2.统一接口管理3.封装请求拦截器4.封装响应拦截器5.优化统一接口管理三、总结一、前言上一篇文章介绍了如何控制“登录”窗口的隐现,如何通过点击“手机登录”、“微信扫码登录”来实现不同页面的切换,以及如何设计手机验证、滑块验证等功能。这一篇文章将会介绍如何设计并封装请求拦截器和响应拦截器、实现统一接口管理。二、步骤1.请求拦截器的必要性基于以下几点原因,我们需要设计请求拦截器并封装:1.不应该将冗长的url直接写在页面的vue文件中;2.如果某
2022-05-22 00:30:09
2059
原创 vue:如何设计网页登录功能(涉及模态窗口的隐现、不同登录方式的实现等)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、前言二、步骤1.创建模态窗口“Login.vue”2.Login.vue中模态窗口的功能解析3.模态窗口的弹出及关闭4.实现不同登录方式页面的切换5.导入滑块插件2.1、安装插件2.2、main.js入口文件引中入2.3、在组件中使用6.手机号正则判定7.点击“获取验证码”时判断手机号、滑块位置是否正确总结一、前言提示:这里可以添加本文要记录的大概内容:本文将介绍如何控制“登录”窗口的隐现,如何通过点击“手机登录”、“.
2022-05-19 21:37:34
5795
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅