摘要: 缘起 最近做的一个小需求涉及到排序,界面如下所示: 因为项目是使用vue的,所以实现方式很简单,视图部分不用管,本质上就是操作数组,代码如下: { // 上移 moveUp (i) { // 把位置i的元素移到i-1上 let tmp = this.form.replayList.splice(i, 阅读全文
posted @ 2021-12-09 16:01 街角小林 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 背景 笔者开源了一个小项目code-run,类似codepen的一个工具,其中代码编辑器使用的是微软的Monaco Editor,这个库是直接从VSCode的源码中生成的,只不过是做了一点修改让它支持在浏览器中运行,但是功能基本是和VSCode一样强大的,所以在笔者看来Monaco Editor等于 阅读全文
posted @ 2021-09-27 20:52 街角小林 阅读(2266) 评论(0) 推荐(0) 编辑
摘要: 开头 笔者之前的文章里介绍过一个代码在线编辑预览工具的实现(传送门:快速搭建一个代码在线编辑预览工具),实现了css、html、js的编辑,但是对于demo场景来说,vue单文件也是一个比较好的代码组织方式,至少笔者就经常在写vue项目的同时顺便写写各种demo,但是分享不太方便,因为单文件不能直接 阅读全文
posted @ 2021-09-14 22:27 街角小林 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 我司的APP是一个典型的混合开发APP,内嵌的都是前端页面,前端页面要做到和原生的效果相似,就避免不了调用一些原生的方法,jsBridge就是js和原生通信的桥梁,本文不讲概念性的东西,而是通过分析一下我司项目中的jsBridge源码,来从前端角度大概了解一下它是怎么实现的。 js调用方式 先来看一 阅读全文
posted @ 2021-09-04 11:09 街角小林 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 如果以前问我ES5的继承和ES6的继承有什么区别,我一定会自信的说没有区别,不过是语法糖而已,充其量也就是写法有区别,但是现在我会假装思考一下,然后说虽然只是语法糖,但也是有点小区别的,那么具体有什么区别呢,不要走开,下文更精彩! 本文会先回顾一下ES5的寄生组合式继承的实现,然后再看一下ES6的写 阅读全文
posted @ 2021-08-27 21:07 街角小林 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 众所周知,很多社区都是有内容审核机制的,除了第一次发布,后续的修改也需要审核,最粗暴的方式当然是从头再看一遍,但是编辑肯定想弄死你,显然这样效率比较低,比如就改了一个错别字,再看几遍可能也看不出来,所以如果能知道每次都修改了些什么,就像git的diff一样,那就方便很多了,本文就来简单实现一个。 求 阅读全文
posted @ 2021-08-19 20:52 街角小林 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 开篇 文本划线是目前逐渐流行的一个功能,不管你是小说阅读网站,还是卖教程的的网站,一般都会有记笔记或者评论的功能,传统的做法都是在文章底部加一个评论区,优点是简单,统一,缺点是不方便对文章的某一段或一句话进行针对性的评论,所以出现了划线及评论的需求,目前我见到的产品有划线功能的有:微信阅读APP、极 阅读全文
posted @ 2021-08-06 07:43 街角小林 阅读(726) 评论(0) 推荐(0) 编辑
摘要: OpenLayers简介 OpenLayers(https://openlayers.org/)是一个用来帮助开发Web地图应用的高性能的、功能丰富的JavaScript类库,可以满足几乎所有的地图开发需求。 有如下特点: 支持任何XYZ瓦片资源,同时也支持OGC的WMTS规范的瓦片服务以及ArcG 阅读全文
posted @ 2021-08-05 08:06 街角小林 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 简介 本文会从零开始配置一个monorepo类型的组件库,包括规范化配置、打包配置、组件库文档配置及开发一些提升效率的脚本等,monorepo 不熟悉的话这里一句话介绍一下,就是在一个git仓库里包含多个独立发布的模块/包。 ps.本文涉及到的工具配置其实在平时开发中一般都不需要自己配置,我们使用的 阅读全文
posted @ 2021-08-05 07:31 街角小林 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 在通读了vue的官网文档后,我记录下了如下这些相对于2.x的变化之处。 1.创建应用实例的变化 之前一般是这样: let app = new Vue({ // ...一些选项 template: '',// 字符串模板 render: h => h(App)// 单文件情况下 }) let vm = 阅读全文
posted @ 2021-08-04 22:57 街角小林 阅读(126) 评论(0) 推荐(0) 编辑