- 博客(30)
- 收藏
- 关注
原创 如何动态定位递归数组?
之后在父组件中去watch深度监听pina中数据的变化,之后在里面再去首句子找到该元素匹配的id的位置,在给他重新组成一个对象里面是各个元素为key,他的x轴位置就是value.那就要在子组件加载的时候动态给pina中动态给数组增加元素,这个元素就是每一句首单词的id,要跟首句子的单词id匹配。首先先给首句子增加动态id,然后给他的子组件传入children的数据,让子组件也是递归渲染出数据。然后就会呈现出上下级关系。之后再去watch这个对象的变化,动态的去给子元素的位置动态变化。
2024-04-07 14:59:17 137
原创 组元素滚动穿透的解决方案
这是当滚动条在顶部以及在底部时候就会穿透,只要判断顶部是否触底以及底部是否触底判断,来让手指事件取消,但是如果同时出现X和Y轴都有滚动,那么就要限制X 和Y轴一起判断,当角度小于45度时候就不要限制手指事件,这样用户在滚动才不会卡住。2.如果没有遮罩层,也要动态滚动父组件,也要滚动子组件并且子组件的滚动条禁止穿透到父组件,怎么解决?1.如果是有遮罩层的,直接禁止父元素滚动条overflow-y: hidden;
2024-04-07 14:29:11 282
原创 这个代码为什么会出现[Vue warn]: Maximum recursive updates exceeded in component <Grammar>. This means you have
函数在逻辑中修改了响应式数据并触发了无限递归。在Vue.js中,一些触发更新的操作,如果不谨慎使用,可能导致无限递归更新。解决:把let oldLabel = ref()改为let oldLabel。这个错误可能是由于你的。
2024-03-13 11:33:31 907 1
原创 阻止移动端H5开发浏览器默认左右滑动行为
html{ touch-action:none;}//此时上下左右都不可滑动--------改动html{touch-action:none;touch-action:pan-y;}
2024-03-09 21:34:25 851
原创 重定向用户到微信认证页面遇到的问题
无论我们在哪个页面点击去登陆时候,浏览器都是重定向到首页,就是浏览器自己强制刷新,所有路由获取不到原来from.path。当登录成功后去会话储存里面获取之前的路由信息,就去跳转到登陆前的路由。当我们点击登录页时候,判断是否是首页进入,如果不是,则去。
2024-03-06 23:46:40 399
原创 移动端当父页面没有滚动,子组件出现滚动条只能向下滚动不能向上滚动的解决办法
移动端当父页面没有滚动,子组件出现滚动条只能向下滚动不能向上滚动的解决办法
2024-03-06 15:10:31 467 1
原创 在移动端用了elementUI的el-select的组件,苹果手机下拉框选项需要点击两次才能选中切换。
在移动端用了elementUI的el-select的组件,苹果手机下拉框选项需要点击两次才能选中切换。
2024-01-18 09:51:33 651 1
原创 JSON.stringify有什么缺点?
5. JSON.stringify()只能序列化对象的可枚举的自有属性,例如 如果obj中的对象是有构造函数生成的, 则使用JSON.parse(JSON.stringify(obj))深拷贝后,会丢弃对象的constructor。1.如果obj里面有时间对象,则JSON.stringify后再JSON.parse的结果,时间将是字符串的形式,而不是对象的形式。2. 如果obj里有RegExp(正则表达式的缩写)、Error对象,则序列化的结果将只得到空对象。
2023-11-20 21:03:43 276 1
原创 for…in 和 for…of的区别?
循环对于遍历对象的键是非常灵活的,因为它不限定键的数据类型。可以用于遍历普通对象的属性,也可以用于遍历数组或其他类数组对象的索引。循环会遍历对象自身的属性以及继承的属性。这意味着如果对象的原型链上有一些属性,它们也会被遍历到。对象属性的顺序可能不同于它们被定义或添加的顺序。不仅适用于数组,还适用于其他可迭代对象,比如字符串、Map、Set 等。对于数组和其他有序集合,它会按照元素在集合中的顺序迭代。循环能够遍历对象的所有可枚举属性,包括动态添加的属性。只遍历对象自身的属性,而不包括原型链上的属性。
2023-11-20 20:57:37 73 1
原创 ES6箭头函数的this指向详解
,作用域是指函数内部,这里的箭头函数,也就是sayHello,所在的作用域其实是最外层的js环境,因为没有其他函数包裹;然后最外层的js环境指向的对象是winodw对象,所以这里的this指向的是window对象。这样就做到了永远指向A对象了,我们再根据“,而不是使用时所在的作用域指向的对象。一开始,我重点标注了“
2023-11-20 17:37:28 101 1
原创 内存泄漏如何处理?
简单来讲就是假设某个变量占用100M的内存,而你又用不到这个变量,但是这个变量没有被手动的回收或自动回收,仍然占100M的内存空间,这就是一种内存的浪费,就是内存泄漏。(内存泄漏是指在程序运行时,申请的内存空间没有被及时释放,导致程序占用的内存不断增加,最终可能导致系统崩溃或变得非常缓慢。例如,在使用闭包时,如果闭包中引用了外部函数的变量,而这个外部函数已经执行完毕,但是闭包依然存在,那么这个外部函数占用的内存就无法被释放,可能导致内存泄漏。(1) 绑在 EventBus 的事件没有解绑。
2023-11-20 15:39:58 68 1
原创 diff算法核心原理
新旧虚拟DOM对比的时候,Diff算法比较只会在同层级进行, 不会跨层级比较。,给真实DOM打补丁,更新相应的视图。当数据改变时,会触发。订阅者Watcher。
2023-11-17 20:50:12 88
原创 说一下事件循环
全部执行完之后等待主线程的调用,调用完之后再去任务队列中查看是否有异步任务,这样一个循环往复的过程就是事件循环!主线程先执行同步任务,然后才去执行任务队列里的任务,如果在执行宏任务之前有微任务,那么要先执行微任务。主线程 执行栈 任务队列 宏任务 微任务。JS是一个单线程的脚本语言。
2023-11-14 14:28:05 30
原创 如何实现一个深拷贝?
深拷贝就是完全拷贝一份新的对象,会在堆内存中开辟新的空间,拷贝的对象被修改后,原对象不受影响。主要针对的是引用数据类型1.扩展运算符3.利用递归函数实现。
2023-11-14 13:52:01 42
原创 JS实现继承的方式
缺点:子类不能访问父类原型属性(Person.prototype)上的方法和参数。优点:1. 父类可以复用 2. 父类构造函数中的引用属性数据不会被共享。更改一个子类的数据,其他数据也会受到影响,一直变化。缺点:会调用两次父类的构造函数,会有两份一样的属性和方法,会影响性能。缺点:1. 父类所有的引用类型数据(对象、数组)会被子类共享。优点:父类的引用类型的数据不会被子类共享,不会相互影响。目前最优的一个继承方案。优点:父类方法可以复用。目前最优的一个继承方案。
2023-11-13 22:25:13 25
原创 new操作符具体做了什么?
4.根据构建函数返回的类型判断,如果是值类型,则返回对象,如果是引用类型,就要返回这个引用类型。3.把构造函数的this绑定到新的空对象身上。2.把空对象和构造函数通过原型链进行链接。1.先创建一个空对象。
2023-11-13 17:00:16 43
原创 闭包的应用之防抖与节流
当sendAjax是箭头函数的时候,他的this指向的是window全局,所以是underfind。同时把return后面函数也要改为普通函数,这样this就会指向调用它的元素,把sendAjax改为普通函数时,this指向在调用debounce时候在里面就在return中被apply改变为调用它的元素,使其打印出来为<input />的元素。调用的函数中的this指针指向触发的函数怎么做?
2023-11-13 16:35:26 71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人