自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为什么使用for循环只会执行一次而采用递归的方式就可以

这里想实现一个外部元素带有animate-box的类名时,给其内部的含有ant类名的元素加上动画效果,但用for循环给带有ant类名的元素设置动画类名时发现只有第一个元素会加上,不太理解为什么会这样,为什么用递归的方式实现就可以呢?

2024-07-23 15:59:03 80

原创 学习webpack时遇到sass解析报错无法解决

webpack在打包时报错解析scss没有正确的loader,但我找不到问题出在哪,有没有大佬帮忙看看,感谢感谢!

2024-07-19 10:39:32 131

原创 nodejs连接使用mongodb的步骤以及遇到的问题

连接使用mongodb步骤:连接mongodb数据库--创建一个model--编写一个通过该model操作数据库的方法--定义接口返回数据的方法--定义路由--在app.js中引入--启动mongodb--插入文档并访问接口。总结:其实我们不需要手动建集合,访问接口后数据库中如果没有对应的集合会自动创建一个,并且该集合的名字是我们写的model集合的复数形式。

2024-03-01 17:24:32 375

原创 vue中将某个标签全部替换为另外一个标签为什么只有第一个标签会被替换?

将所有的span标签转换为div标签,但是结果是只有第一个span会被替换,后面的都没有被替换。原因:因为替换后list的长度就少1,那么就获取不到下一个dom元素了(for...of内部是用Symbol.Iterator来实现遍历的,替换1个标签后list长度少1,next()方法得到的下一个元素是undefined,所以后面的元素都不会被替换掉)。解决:复制所有span标签的dom节点

2024-02-20 01:04:13 443 1

原创 为什么子容器设置了width:100%但还是超出了父容器的宽度

设置一个父元素和一个子元素,给子元素加上width:100%,继承父元素的宽度。加上外边距之后,就会出现子元素宽度超出父元素宽度,并且页面出现横向的滚动条。width:100%表示子元素继承父元素的宽度,box-sizing默认是content-box,所以width只表示内容区域的宽度,子元素加了外边距之后整个宽度就比父元素的大了。如果想要不超出父元素宽度,可以指定子元素的宽度,或者不设置宽度(子元素宽度会自动调整为父元素的剩余可用宽度)。

2024-02-07 17:13:02 765 1

原创 解决报错[plugin:vite:import-analysis] Cannot read properties of undefined (reading ‘url‘)

有时候用某个node版本可以成功把项目跑起来并不意味着这个版本就是对的,可能在后面的某个操作中突然报错了,还可能找不到出错的地方,这时候就需要注意考虑node版本是否正确了。

2024-01-21 23:52:49 1477 2

原创 vue中给数组添加新属性后当属性值变化时为什么页面没效果?

如果先把config赋值给data中的变量configList,config本身也会变成响应式的(多了getter和setter),所以后续给config里面的数组增加属性并要让该属性也成为响应式就需要用this.$set(item, 'checked', false);如果config不做赋值操作,它就仍然是一个普通对象,给它里面的list数组加上checked属性后也还是一个普通数组,只有赋值给data中的变量menuList时才会让config.list变成响应式

2024-01-17 01:26:05 458

原创 将后端接口字段中的下划线转为驼峰写法

replace方法的第二个参数可以是字符串,也可以是一个函数。指定为函数时,函数的结果(返回值)将用作替换字符串。p1,p2...pN:捕获的子字符串,即括号内匹配的字符串。offset:原始字符串中匹配子字符串的偏移量。match:匹配的子字符串。

2024-01-16 00:54:14 503 1

原创 响应式布局的媒体查询屏幕大小切换时不流畅怎么解决?

当响应式布局中CSS的单位是px时,如下面的例子,会出现屏幕小于750px的瞬间容器突然变小的情况,这给用户的体验感不好。使用视口单位vw / vh来适配页面可以解决断层的问题,当视口变小了页面上的元素也会按比例缩小。

2024-01-14 23:42:49 387 1

原创 vue中添加消息提示框为什么样式不生效

创建一个div标签,将提示内容放到其中,点击按钮的时候将这个dom节点加到document.body上,在页面中间显示这个提示信息,结果页面上会出现这行文字,但是是出现在当前整个页面的右边,也就是样式没生效,找了很久,才发现是scoped的问题,把这个样式单独放到一个没加scoped的style中就解决了。

2024-01-11 18:20:12 415

原创 解决控制台报错 TypeError: Cannot read properties of undefined (reading ‘data‘)

出现这个问题就需要观察data前面的变量是否为undefined,或许很快就可以找到问题所在,或许需要找很久,比如下面这个例子。有时候某个地方的代码太多了,就可能出现定义了相同名字的变量,然后看半天不知道报错问题出在哪,上面这个例子中就是定义了两次res,一个是const,一个是let定义的,报的错是data前面的变量是undefined,其实就是因为后面的res把前面res的值覆盖掉了,改一下res的名字就解决了。

2024-01-07 16:20:37 2946 1

原创 js判断是否为空的时候要注意数字0的取值

拿到store中的值进行取反判断,但这里有多种情况,this.$store.getters.getCachNum为null、undefined、false、0的时候都会执行action,但如果值为0的时候不需要做action的操作,这里的判断就需要修改了,否则就会出现0的时候也同样做一遍操作,所以记住:加!时要注意是否涉及数字0的判断。

2024-01-07 11:37:36 448 1

原创 为什么用axios封装好的方法发送请求会跨域而直接用axios发请求就可以呢?

直接用axios发请求,是可以成功访问的,所以就是这个封装的方法出了问题。找了很久的原因,最终发现是headers中的Authorization字段的影响,不加这个字段就可以正常访问,可能是第三方接口中对此请求做了拦截,所以访问不成功。PS:当请求是完整路径时,不会拼接上axios中的baseURL,从控制台的Network那里也可以看出来。

2024-01-05 00:41:07 541 1

原创 关于JavaScript中this的指向问题

当函数独立调用时,this默认指向window;当函数作为对象的方法被调用时,this指向调用该函数的对象;call/apply/bind可以改变this的指向;构造函数中的this指向实例化对象;箭头函数没有自己的this,要从上层作用域中查找,并且call/bind/apply无法改变箭头函数中this的指向。

2023-10-17 16:12:38 52

原创 JS中各种进制之间的转换

各种进制之间的相互转换:1、十进制转十六进制;2、十六进制转十进制;3、十进制转二进制;4、二进制转十进制;5、十六进制转二进制;6、二进制转十六进制。

2023-10-17 10:40:55 1688

原创 基于uni-app开发的商城小程序

本项目是使用uni-app开发的vue3+vite+ts的购物商城小程序。

2023-09-19 16:08:21 143

原创 uni-app项目封装弹出层组件时遇到的问题

一般打开弹出层是获取弹出层的ref实例后通过open()打开,但是这里如果用这种方法,即使行得通,也比较麻烦,因为要先获取弹出层组件的实例,通过实例对象再获取组件内部的ref的open方法,因此这里我通过一个变量来控制弹出层是否打开,在组件内部监听该变量的值,为true时打开弹出层。这样写对于订单详情页的取消订单事件是可以实现的,但对于订单列表页,就会出现问题。因为订单列表页设计到多个订单状态列表的显示,每个状态的列表是个封装好的组件,将取消订单弹框放在其中就会出现一个问题:每次点击按钮五个列表都会出现弹框

2023-09-16 18:44:36 169 1

原创 uni-app中的onLoad为什么有时候不执行

在一个页面的子组件的onLoad()中发请求获取数据,却发现onLoad()根本不会执行。原因:这个子组件不属于uni-app中的页面(在pages.json中配置的页面),uni-app的文档也做出了说明,组件是无法使用页面级的onLoad等生命周期的。uni-app除支持页面生命周期还支持 Vue 组件生命周期,所以可以在mounted(vue2)或onMounted(vue3)中执行相应的操作。

2023-09-09 16:50:36 1415 1

原创 微信小程序和网页端固定导航栏的方式的区别

网页端给导航栏设置sticky定位,不需要写在最外层的元素上;而小程序一定要加在最外层元素上,否则不生效。用position:sticky使导航栏固定在顶部是一个很方便的方式,这种方式只需要对导航栏设置定位,其他元素不需要开启定位。因为它相当于position:relative和position:fixed的结合,在页面没有滚动时,是相对定位,导航栏不会脱离文档流;当页面滚动之后,就变成固定定位,导航栏脱离文档流,刚好可以覆盖下方的内容。

2023-08-31 11:55:52 166

原创 基于vue3+nodejs的智能家居官网和后台管理系统

本项目是基于vue3+ts+element-plus+vite实现的企业官网和后台管理系统的前端部分,采用nodejs express框架实现服务端。

2023-08-27 17:22:33 401

原创 后端nodejs返回路由,前端vue动态添加路由的过程

后端nodejs返回路由信息,前端vue3实现动态添加路由的实现过程。

2023-08-25 12:20:28 608 1

原创 动态添加路由,得到路由信息后为何页面刷新还是空白?

页面刷新后,需要重新动态添加路由,在router的全局路由守卫中添加,但是这样写页面刷新后还是空白的。通过router.getRoutes()可以查询到当前路由信息已经获取到,但是为什么页面还是空白呢?在刷新后动态路由需要重新获取,而to对象是在动态路由生成之前产生,所以获取不到真正路由信息。打印一下to的值,会发现matched的值为空。修改一下就可以解决了

2023-04-15 22:27:25 691 4

原创 用apipost访问json-server的接口时遇到的问题

在使用apipost访问json-server的接口时遇到了无法访问接口的情况,去网上查了一些资料,有一些人说apipost访问本地环境要把代理给关掉,但我并没有开代理,后面我又查了一下Apipost如何开启json-server,也没找到解决方法,直到我搜索“json-server的使用”,才发现原来json-server可以设置启动参数,比如host、port等等

2023-04-12 15:52:40 678 10

空空如也

空空如也

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

TA关注的人

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