![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js学习
coderyy1
这个作者很懒,什么都没留下…
展开
-
函数节流与函数防抖
函数防抖和函数节流 在某些时候,某些事件会频繁的触发,影响性能,所以需要防抖操作来进行性能优化。 比如用户在输入框中输入内容而输入框会给出相关内容,此时如果监听input的内容变化则会多次触发对应事件,而这些事件是我们不希望触发的。我们希望当input框的内容改变并且一定时间内不再改变时,才将相关内容渲染在页面上。 此时就可以用到函数防抖和函数节流。 一、函数防抖 函数防抖重点在于有足够的时间间隔才触发某个回调。 实现方法的核心在于延时器的注销和重新注册。 函数防抖 在事件被触发n秒后再执行回调,如果在这原创 2020-10-21 22:30:42 · 85 阅读 · 0 评论 -
发布订阅模式与观察者模式的学习
观察者模式(Observer Pattern) 观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新。观察者模式属于行为型模式,行为型模式关注的是对象之间的通讯,观察者模式就是观察者和被观察者之间的通讯。 当观察者(Observer)订阅(Subscribe)之后,一旦主题的内容发生更新,就会触发Fire Event中的事件 自己写的简易版观察者模式 // 定义主题Subscribe class Subject {原创 2020-10-13 10:13:05 · 58 阅读 · 0 评论 -
Vuex
Vuex——状态管理模式 创建 const store = new Vuex.Store({ state: { }, mutations: { }, actions: { }, getters: { }, modules: { } }) state state用来存放状态,也就是变量。Vuex 使用单一状态树,每个应用只对应一个vuex对象。 创建 state: { cartL原创 2020-10-12 16:23:12 · 66 阅读 · 0 评论 -
有关vue组件的强制刷新
问题 在做vue小项目的分类页面时,发现在点击相应的类别后详情页面依旧为空,想到是由于数据的异步请求造成。所以想在每次异步请求完成后强制vue刷新一下对应的分类详情页面子组件。 三种强制刷新组件的方法 1.使用v-if销毁对应子组件再重新创建,该方法不推荐,需要使用watch监听数据的变更。 2.使用this.$forceUpdate方法,这个方法可以使当前组件调用这个方法时,重新渲染组件。 3.更改key的值可以使组件重新渲染,这是官方推荐的一种方法。 解决 使用的是第三种方法,也就是修改组件的key原创 2020-10-09 18:48:57 · 346 阅读 · 0 评论 -
关于Better-Scroll的高度计算问题
问题出现 在做vue的商城小项目的时候,为了解决原生滚动的问题而使用了Better-Scroll插件。但是使用时发现Better-Scroll的高度计算出了点问题,导致整个内容无法滚动。 原因 所有的图片都是异步加载的,所以当Better-Scroll计算内容高度时图片的加载可能还没有完成,导致高度计算错误,从而出现内容高度没问题但是却无法滚动的情况。 解决方法 尝试在创建Better-Scroll对象时使用nextTick()方法来解决该问题,但是没有效果,所以又尝试给了一个200ms延迟,解决了该问题,原创 2020-10-08 18:50:01 · 1486 阅读 · 0 评论 -
学习记录——axios的拦截器
axios的拦截器 axios的拦截器有2种,请求拦截和响应拦截。 请求拦截 请求拦截又分为请求成功拦截和请求失败拦截。 基本用法: //请求拦截器,两个参数(请求成功, 请求失败) // 注意:拦截掉之后要将config给返回出去才能完成请求 axios.interceptors.request.use(config => { console.log(config); return config; }, err => { co原创 2020-09-29 20:11:15 · 113 阅读 · 0 评论 -
学习记录——偶然发现的js闭包理解
闭包 闭包概念 闭包:能够读取其他函数内部变量的函数 也就是定义在一个函数内部的函数,这个内部的函数持有外部函数变量的引用。 闭包可以让你从内部函数访问外部函数作用域。在 JavaScript 中,每当函数被创建,就会在函数生成时生成闭包。 ———MDN 阮一峰老师的思考题(this和闭包) 代码片段1: var name = "The Window"; var object = { name : "My Object", getNameFunc : func原创 2020-09-29 18:50:02 · 213 阅读 · 0 评论