摘要:
使用场景 有时,我们会绑定一些持续触发的事件,如:resize、scroll、mousemove等,但是我们并不希望在事件持续触发的过程中那么频繁的去执行函数。通常情况下怎么去解决呢?一般来讲,防抖和节流是比较好的解决方案。 下面,我就已在vue中的input函数为例,讲解一下防抖和节流。 防抖 所 阅读全文
摘要:
快速取对象的key值并转化为数组 let obj = { name: 'zhangsan', age: 12 } Object.keys(obj) // ['name', age] 结合Object.keys循环对象 let obj = { name: 'zhangsan', age: 12 } O 阅读全文
摘要:
简单来说 MVVM 是一种将数据和视图关联的模式,是利用数据劫持结合发布订阅模式当数据变化时就更新视图。具体用到了compile(编译模板)、observe(数据劫持)、watcher(观察者)、Dep(发布订阅) 这里需要特别解释一下数据劫持和发布订阅模式: 数据劫持(observe):就是利用 阅读全文
摘要:
当使用局部注册的时候,你也可以直接提供一个返回 Promise 的函数 new Vue({ // ... components: { 'my-component': () => import('./my-async-component') } }) 这样引入的组件,只有在使用到的时候才加载 异步组件 阅读全文
摘要:
<component v-bind:is="currentTabComponent"></component> 何为动态组件,如上代码所示,即利用 is 特性,来切换不同的组件,即为动态组件。 动态组件保持状态 有时候,我们希望能保持被动态加载组件的状态,已避免反复重复渲染导致的性能问题。为了能实现 阅读全文
摘要:
$nextTick(操作DOM的时候会用到) Vue在观察数据变化时并不是直接更新DOM,而是开启一个队列,并缓冲在同一事件循环中发生的所有数据改变 在缓冲时会去除重复数据,从而避免不必要的计算和DOM操作 然后,在下一个事件循环tick中,Vue刷新队列并执行实际(已去重的)工作。所以,如果你用一 阅读全文
摘要:
.sync是vue中用于实现简单的“双向绑定”的语法糖,在平时的开发中是非常使用的。 vue的prop是单向下行绑定:父级的prop的更新会向下流动到子组件中,但是反过来不行。可是有些情况,我们需要对prop进行“双向绑定”。这个时候,就可以用.sync来解决 .sync用法 这样title的属性在 阅读全文
摘要:
1、什么是计算属性? 模板内的表达式非常方便,但是他的设计初衷是用于简单运算的。在模板内放入太多的逻辑会让模板过重且难以维护,例如: 这里的表达式包含3个操作,并不是很清晰,所以遇到复杂逻辑时,应该使用Vue特带的计算属性computed来处理。 2、计算属性的用法 在一个计算属性里可以完成各种复杂 阅读全文
摘要:
grid布局非常强大,他是二维布局模式,将容器划分成“行”和“列”,产生单元格,然后指定项目所在单元格,,而flex是一维布局,grid远比flex强大的多。 这里我只讲日常工作中常用的属性。 1、容器上的属性 (1)display属性 display:grid 用来指定容器为网格布局。这跟我们以前 阅读全文
摘要:
Array.find()和Array.findIndex()是Es6为数组新增的两个方法。 Array.find():找到满足条件的第一个元素返回,如果未找到,则返回undefined。 Array.findIndex():找到满足条件的第一个元素,返回其位置,如果未找到,则返回-1。 下面是简单示 阅读全文