概述KeepAlive 组件实现了缓存的功能,将不活动的组件放到内存中,而不是直接销毁他们,并且他不会被渲染成一个真实的元素,主要的使用场景为”在切换页面保存表单内容”。 本文将从源码入手,分析 KeepAlive 的实现方式以及使用上的注意事项,并简单提一下 KeepAlive 不会被渲染成真实的 ...
v-for 遇到 iframe 时的一些坑
概述最近在开发的那个项目,需要将 iframe 放入组件,使用 v-for 把 n 个组件渲染出来,此外还需要随时调整组件的显示顺序,效果就像是 win10 里点击一个窗口将它置顶,其他窗口就会下移那样。 坑这样的需求平常写起来很简单,但是加上 iframe 就麻烦了,因为 iframe 动不动就会 ...
Vuetify 系列 - 对 Dialog 函数的封装
概述众所周知,Vuetify 提供了 Dialog、Snackbar 等的提示组件,但是他并没有像 Element 那样提供全局或局部的相关调用函数,比如 showDialog,所以要实现这个需求,得自己去封装一个函数。 功能设计作为一个通用函数,在功能上肯定是越泛用越好,但又不能把所有的参数都交由 ...
Vuetify 系列 - 关于的栅格系统
概述Vuetify 的栅格系统主要由 3 个组件实现,分别是 v-container、v-layout 和 v-flex,将 viewport 分成了 12 块,并且根据不同的设备分辨率,预设了多种属性,比如 xs、xl,给内容在不同分辨率下的显示尺寸进行便捷地设置。 栅格系统中还有一个 v-spa ...
关于前端的 OAuth2
记一次做 OAuth2 应用时懵逼的经历 正文这两天在弄授权登录,使用的是 Github 的服务,授权登录的流程很多文章都介绍过,就写个大概吧。 先是打开授权登录页面。 完成 Github 登录后页面会跳转到 Github 的认证接口。 完成认证后会跳转到开发者预留的后端 callback 接 ...
关于 Vue 中的 slot-scope
其实这个特性我见的不多,所以一直没去了解他的功能,现在觉得这个特性挺灵活的,能写出高复用性的组件。 概述slot scope 是对 slot 功能的增强,主要功能是将子组件中的数据带出给父组件使用,以函数作为例子,可以看作是: function (list) { return lis ...
关于 Throttle 和 Debounce
概述这两个函数常用于优化方面,功能分别为”将短时间内连续的操作集合成一个,也就是每段时间最多执行一次“与”将短时间内连续的操作只视作一次“。 这个说法有点抽象,可以看个图: 操作会新建时间轴,在同一个时间轴内的操作都会被”吸收”,直到时间轴结束才触发,这是节流。 每个操作都会新建时间轴,并且替换原 ...
关于 v-on 的 native 修饰符
下个套native 这个修饰符我平时很少用到,但是在公司项目中遇到过,那就得把它弄清楚。 为了把它和常规的 v-on 进行比较,我准备了一个很简单的组件: <template> <div>123</div></template><script& ...
做骨架屏组件时遇到的问题
概述首先,这里提到的骨架屏组件并不是指一个显示为骨架屏的组件,指的是一个容器 fallback,骨架屏和真实的组件作为两个 slot 置于 fallback 中。fallback 监听 fallback:show 事件,用于控制显示某个 slot。 实现初版这个需求实现起来是很简单的,通常会写成这样 ...
Koa 邮箱验证的实现
直接说结论,这功能真的不好用!老老实实买其他验证方式吧。 概述这个功能主要涉及到两个步骤,一是发邮件,二是验证,流程是: 用户注册 -> 发验证邮件 -> 访问验证 url -> 验证通过 简单来说就是先生成一条验证链接,发到对方的邮箱,让对方打开邮箱去确认,随后访问这条链接完 ...