![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
前端
学习前端路上遇到的一些问题总结或一些前端知识点的整理
wwwwuj
这个作者很懒,什么都没留下…
展开
-
uni-app项目封装弹出层组件时遇到的问题
一般打开弹出层是获取弹出层的ref实例后通过open()打开,但是这里如果用这种方法,即使行得通,也比较麻烦,因为要先获取弹出层组件的实例,通过实例对象再获取组件内部的ref的open方法,因此这里我通过一个变量来控制弹出层是否打开,在组件内部监听该变量的值,为true时打开弹出层。这样写对于订单详情页的取消订单事件是可以实现的,但对于订单列表页,就会出现问题。因为订单列表页设计到多个订单状态列表的显示,每个状态的列表是个封装好的组件,将取消订单弹框放在其中就会出现一个问题:每次点击按钮五个列表都会出现弹框原创 2023-09-16 18:44:36 · 168 阅读 · 1 评论 -
为什么用axios封装好的方法发送请求会跨域而直接用axios发请求就可以呢?
直接用axios发请求,是可以成功访问的,所以就是这个封装的方法出了问题。找了很久的原因,最终发现是headers中的Authorization字段的影响,不加这个字段就可以正常访问,可能是第三方接口中对此请求做了拦截,所以访问不成功。PS:当请求是完整路径时,不会拼接上axios中的baseURL,从控制台的Network那里也可以看出来。原创 2024-01-05 00:41:07 · 540 阅读 · 1 评论 -
将后端接口字段中的下划线转为驼峰写法
replace方法的第二个参数可以是字符串,也可以是一个函数。指定为函数时,函数的结果(返回值)将用作替换字符串。p1,p2...pN:捕获的子字符串,即括号内匹配的字符串。offset:原始字符串中匹配子字符串的偏移量。match:匹配的子字符串。原创 2024-01-16 00:54:14 · 495 阅读 · 1 评论 -
vue中添加消息提示框为什么样式不生效
创建一个div标签,将提示内容放到其中,点击按钮的时候将这个dom节点加到document.body上,在页面中间显示这个提示信息,结果页面上会出现这行文字,但是是出现在当前整个页面的右边,也就是样式没生效,找了很久,才发现是scoped的问题,把这个样式单独放到一个没加scoped的style中就解决了。原创 2024-01-11 18:20:12 · 411 阅读 · 0 评论 -
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 · 1398 阅读 · 1 评论 -
JS中各种进制之间的转换
各种进制之间的相互转换:1、十进制转十六进制;2、十六进制转十进制;3、十进制转二进制;4、二进制转十进制;5、十六进制转二进制;6、二进制转十六进制。原创 2023-10-17 10:40:55 · 1667 阅读 · 0 评论 -
js判断是否为空的时候要注意数字0的取值
拿到store中的值进行取反判断,但这里有多种情况,this.$store.getters.getCachNum为null、undefined、false、0的时候都会执行action,但如果值为0的时候不需要做action的操作,这里的判断就需要修改了,否则就会出现0的时候也同样做一遍操作,所以记住:加!时要注意是否涉及数字0的判断。原创 2024-01-07 11:37:36 · 440 阅读 · 1 评论 -
解决控制台报错 TypeError: Cannot read properties of undefined (reading ‘data‘)
出现这个问题就需要观察data前面的变量是否为undefined,或许很快就可以找到问题所在,或许需要找很久,比如下面这个例子。有时候某个地方的代码太多了,就可能出现定义了相同名字的变量,然后看半天不知道报错问题出在哪,上面这个例子中就是定义了两次res,一个是const,一个是let定义的,报的错是data前面的变量是undefined,其实就是因为后面的res把前面res的值覆盖掉了,改一下res的名字就解决了。原创 2024-01-07 16:20:37 · 2917 阅读 · 1 评论 -
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 · 455 阅读 · 0 评论 -
后端nodejs返回路由,前端vue动态添加路由的过程
后端nodejs返回路由信息,前端vue3实现动态添加路由的实现过程。原创 2023-08-25 12:20:28 · 595 阅读 · 1 评论 -
关于JavaScript中this的指向问题
当函数独立调用时,this默认指向window;当函数作为对象的方法被调用时,this指向调用该函数的对象;call/apply/bind可以改变this的指向;构造函数中的this指向实例化对象;箭头函数没有自己的this,要从上层作用域中查找,并且call/bind/apply无法改变箭头函数中this的指向。原创 2023-10-17 16:12:38 · 51 阅读 · 0 评论 -
响应式布局的媒体查询屏幕大小切换时不流畅怎么解决?
当响应式布局中CSS的单位是px时,如下面的例子,会出现屏幕小于750px的瞬间容器突然变小的情况,这给用户的体验感不好。使用视口单位vw / vh来适配页面可以解决断层的问题,当视口变小了页面上的元素也会按比例缩小。原创 2024-01-14 23:42:49 · 385 阅读 · 1 评论 -
微信小程序和网页端固定导航栏的方式的区别
网页端给导航栏设置sticky定位,不需要写在最外层的元素上;而小程序一定要加在最外层元素上,否则不生效。用position:sticky使导航栏固定在顶部是一个很方便的方式,这种方式只需要对导航栏设置定位,其他元素不需要开启定位。因为它相当于position:relative和position:fixed的结合,在页面没有滚动时,是相对定位,导航栏不会脱离文档流;当页面滚动之后,就变成固定定位,导航栏脱离文档流,刚好可以覆盖下方的内容。原创 2023-08-31 11:55:52 · 158 阅读 · 0 评论 -
动态添加路由,得到路由信息后为何页面刷新还是空白?
页面刷新后,需要重新动态添加路由,在router的全局路由守卫中添加,但是这样写页面刷新后还是空白的。通过router.getRoutes()可以查询到当前路由信息已经获取到,但是为什么页面还是空白呢?在刷新后动态路由需要重新获取,而to对象是在动态路由生成之前产生,所以获取不到真正路由信息。打印一下to的值,会发现matched的值为空。修改一下就可以解决了原创 2023-04-15 22:27:25 · 682 阅读 · 4 评论 -
用apipost访问json-server的接口时遇到的问题
在使用apipost访问json-server的接口时遇到了无法访问接口的情况,去网上查了一些资料,有一些人说apipost访问本地环境要把代理给关掉,但我并没有开代理,后面我又查了一下Apipost如何开启json-server,也没找到解决方法,直到我搜索“json-server的使用”,才发现原来json-server可以设置启动参数,比如host、port等等原创 2023-04-12 15:52:40 · 669 阅读 · 10 评论