如何设计组件的API

出现这个问题是因为我在排查 Toast 组的代码中, 发现现在的 API 调用感觉不够清晰, 有点像老奶奶的裹脚布一样长, 想修改但是不知道如何改. 这里参看了很多相同组件的 API 设计, 百花齐放, 我也不知道该怎么办了. 这里找了一篇文章说的挺好: 如何设计一个优秀的 API , 可以参考下! 原则 对于用户: 易学习:有完善的文档及提供尽可能多的示例和可 copy-paste…

前端代码异常监控模块设计

最近在做 VImo 前端 Hybrid 框架编写,基础组件完成的差不多了,在组件模块之外还需要一个日志模块,关于日志模块的设计先从需求开始(自己给自己找需求),大概是这样:在手机模式下,希望能有一个将代码中以 console 打印出来的信息显示在这个界面上的模块,包括 log、error、warn 等信息, 这样方便在手机上调试能看到错误信息,或者是 log 信息。 因此,第一版的做法估计大家都会,拦截 console 方法, 将 arguments…

Vimo介绍

Vimo 是一个移动端混合框架的解决方案,包含了移动设备平台信息的初始化置、基础 H5 组件及 HyBrid 组件的注册安装、公共方法包装等。决定要写这个框架也是因为自己去年一年的工作需要做个总结,故以此为载体,将我对 H5 移动端的理解及认识总结在里面。 Vimo 是 VueMobile 的昵称,也是名字的由来,代表他是基于 Vue.js 为基础实现的。对于框架的开发,我自认为我对框架前瞻性思维和经验还是不足,借鉴与学习也许就是我现在最该着手去做的。因为开发过 IONIC…

烈风裘的前端技能

切图 - Photosho - 切图插件 Cutterman - 标注插件 Parker - 图片压缩 ImageOptim/HummingBird HTML - HTML 基础 - 基础标签技术性 - 语义化及 SEO - meta 属性 - 移动端 viewport 设置 - 块级元素/行内元素 - HTML 媒体 - HTML API - SSE/Web Works/拖放(了解) - 存储/定位/全屏/页面状态(是否当前浏览) - 全局属性 - contenteditable…

浏览器兼容性问题及解决方案(CSS部分)

可畏的前端 浏览器兼容性问题是指因为不同的浏览器对同一段 CSS 代码或者 JS 代码解析不同导致页面显示效果不统一或者脚本执行错误的情况。一般情况下,我们希望用户无论使用什么浏览器来查看网页效果都应该是一样的。浏览器的兼容性问题是 Web 前端开发人员经常会碰到的和必须要解决的问题。 浏览器兼容的部分一般分为 CSS 部分和 JS 部分,JS 部分请参考这里。 相关的问题已近在前端界整理的很充分了,大致的问题可总结如下: 浏览器的初始化样式不同导致兼容性的问题 局部样式解析不同导致的 bug…

vueMobile组件(组件间通讯)

移动端组件的编写和 PC 端组件的编写是不同的,PC 端组件见的通讯及状态共享很简单,基本上井水不犯河水,但是移动端组件的却不是这样:ion-title 组件希望共享自己的控制权,便于业务动态修改、menu 组件弹开的手,希望页面也能向右移动下、页面切换的时候,自动关闭 ActionSheet 组件等。下面是我在组件编写时踩得坑,如果感兴趣或者有同样的思考可以和我联系。 组件间通讯 基础组件的组件见通讯使用的比较多,比如 menu 组件打开需要通知 nav 组件是否移动等,如果直接上 Vuex…

关于埋点浅谈

埋点适用于分析用户的使用行为,通过搜集分析数据推进用户体验,进而优化产品或者挖掘用户习惯推出新产品等。 埋点方式分为前端和后端,这里主要谈谈前端的实现。埋点方案现在业界已经比较成熟了,可分为:有码埋点、可视化埋点、无码埋点三种,这里是介绍。简单的说就是这样: 有码埋点: 埋点锚点植入业务代码中描述 优点 缺点埋点锚点植入业务代码中(JS 或者 HTML…

JavaScript 核心技能点

下面列出来的是 JavaScript 总结大纲,详细内容会继续展开,待续。。 基础 数据类型相关 基础类型(Number/String/Boolean/Null/undefined) 引用类型(object/function/array/date) 深浅拷贝 类型对应的操作方法 函数相关 内部属性(this) 外部属性(arguments/length/name/protorype) call/apply bind 作用域及作用域链 类/闭包/原型继承 模块化 错误及调试 Ajax…

Vue2之去掉组件的click事件的native修饰

这个是在组件开发中遇到的问题,当时我在编写 button 的组件,模板是这样的: 使用是这样子的: 根据 Vue2.0 官方文档关于父子组件通讯的原则,父组件通过 prop 传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的 click 的话,需要加上修饰符,故写法就像上面这样。 好吧,处女座的毛病又来了。像 button 这样常用的组件如果加上 native 的话是感觉很突兀的。虽然组件设计有自身的考虑,因此我想将 click 的 native…

路由开启keep-alive时的注意点

这个不是业务的要求,但是看到每次进入页面就重新渲染 DOM 然后再获取数据更新 DOM,觉得作为一个前端工程师有必要优化下的加载逻辑,正好 vue 提供了的功能,所以就试用了下。当然,干任何事儿都不会一帆风顺的,在路上的磕磕碰碰在所难免,故在此记录下遇到的问题,希望看到这篇文章的人能有所帮助。ps:这个也没多难。 HTML 部分: JavaScript 部分:…