最近在升级项目,用到了TypeScript,简单总结一下JS转TS,尤其是在vue中的使用方式。 基础语法 对于TS的基础语法,这里就不多介绍了,看官网即可,毕竟巨硬的文档可以秒杀一众系列丛书。 放个链接: TypeScript文档 Typ…
手撸了一个基于Vue的Gantt组件
基于Vue的Gantt组件 工作需要,要实现甘特图,之前实现了一版,但是有些问题,干脆撸一个单独的组件出来,打包封装直接使用,这样也更加灵活。 虽然不比专业的,但是小功能足够用了,展示,拖动,后续可能会添加新功能。 话不多说,直接上图。 功…
VSCode 中 Vue 的 Template 高亮提示
今天突然发现 template 块中的提示和高亮都没有了。之前也没在意,就百度了一下,结果根本没有一个管用的。 解决方案 前提是:需要安装 Vetur 插件,就是这个货: 我挨个看了一下 Vetur 的配置,还是自己动手找比较靠谱。 在 文…
axios的二次封装
之前项目是用到了axios,它本身是对ajax的二次封装。不过我们在使用的时候经常是对axios再进行二次封装,从而达到我们需要的效果。现在把代码整理了一下,贴上来。 首先,安装axios: npm install axios 还有一个qs…
Vuex之Getters详解
作为Vue的状态管理工具,Vuex的使用率相当之高。Vuex具有4个属性,state,getters,actions,和mutations。 今天来讨论一下getters。它相当于vue的computed计算属性。每当state中的值变化时…
使用axios下载文件
因为下载还是挺常见的,所以用axios封装了一下,直接调用即可。 很简单的封装,一般情况下,只需要传入文件路径,文件名,和文件的mime类型即可。 /** * Encapsulate Download methods, download f…
JavaScript异步加载图片
之前写的画板里面,我将它升级了一下,首先可以传入一张默认图片,然后所有操作都是基于该图片进行操作。然后我发现,当使用橡皮擦的时候,它直接将整个canvas擦成了透明。 这是因为canvas每次只能展示一张图片,这个在之前说过,有兴趣的朋友可…
JS/Vue动态获取浏览器高度
动态获取浏览器大小,可以动态调整页面布局,让页面更加灵活。 JS获取浏览器高度: var width=document.documentElement.clientWidth; var height=document.documentEle…
vuex模块化详解
vuex为我们提供了状态管理的解决方案,其最基本的结构如下: 在main.js层级下创建一个store.js文件,写入: 然后导入main.js并注册: 这样,最基本的vuex就可以使用了。 随着actions和mutations中的方法越…