关于Vue Function-based API
对比先看一下新的语法: import { value, computed, watch, onMounted } from 'vue'const App = { template: ` <div> <span>count is ...
判断元素是否在可视区域内
概述对过长的列表内容优化的方法之一是将看不见的项目隐藏,要实现这个需求必须先判断元素是否可见,判断的方式有多种,大致上可以分成通用的和方便的。 在分析这个问题之前,先得了解元素尺寸相关的属性,本文将从基础开始讲解。 尺寸相关属性尺寸属性可以大致分成三类,分别是 offset、client 和 scr ...
关于函数的Wrapper
前些天在写后端的角色鉴权,访问权限在 Controller 处定义,原本的想法是使用装饰器实现,后来通过了 Builder 的方式完成。大致的代码如下: class Builder { constructor (router) { this.router = router ...
为什么Koa使用await后还能保持高效
如果你觉得await将原本异步操作变成了同步阻塞的,那你应该对await产生了误解。 事实上,我在早期学习的时候也对 await 有这样的误解,比如说 await setTimeout(XXX, 3000) 会将代码阻塞3秒,相当于Java中的 Thread.sleep(3000),但这个理解是 ...
Vue 细节分析 - $emit 和 $on,你的理解正确吗?
概述之前在和朋友讨论传值方式的时候,发现他对 $on 和 $emit 的理解很混乱,他认为 $emit 会向父组件抛出事件,而 $on 会接收子组件抛来的事件,事实上这个理解是错误的。先说结论,$emit 也只会在当前实例触发事件,$on 也只会捕获当前实例的事件。 $on 和 $emit 的运行机 ...
Vue组件 - 平滑滚动面板
概述这个组件的效果类似于 fullPage.js,通过鼠标滚轮或者上下滑动手势进行换页,每一页均是全屏的,在换页过程中带有过渡效果。 实现<div class="scroll-pane" v-scroll="handleScroll" v-touch:up="nextPage" v-touch ...
关于动态渲染Vue组件的组件
你已经是一个成熟的组件了,应该学会去渲染其他组件。 概述这个组件的功能类似于codepen,jsfiddle等,也就是代码的即时预览,能读取vue单文件组件的代码,并根据代码创建组件实例,对组件进行渲染。 DEMO地址(Sandbox) 实现单页面组件的结构由template、script与st ...
Vue组件即时预览工具的雏形
配置文件设计复杂了,我自己都要看着样例写,等一个重构。 概述这个项目的特点如下: 动态加载组件 与组件分离的props,data预设数据 即时选择并且展示已有组件 DEMO地址 一开始我只是想做一个类似于bitsrc,storybook中的组件即时预览功能,在开发过程中觉得如果只显示组件样式 ...
我所接触到的Axios
Axios作为Vue官方推荐的HTTP请求库,甚至取代了原有的vue-resource,在我第一回接触到axios时,我就在想这个库之所以被官方推荐,和其他同类库相比肯定是有一些特别的地方。 概述在这篇文章里我将会举例说明我所使用过的axios一些特性的使用场景,更多的使用方法可以参考官方文档, ...