AllocatorXy

世界让我充满好奇

Vue-Components

vue中的组件/组件之间的通信

组件注册 vue中的组件类似于angular里的directive, 用一段模板代码和一个页面中的指令生成dom结构; 不同的是,vue中的组件分为全局组件和局部组件; 不论是全局组件还是局部组件,都必须在vue实例作用域内才有效; 组件需要在vue实例声明之前注册; 组件名不要有大写字母 – Vue 2.2.4; 对于某些组件名称不能直接使用,但在字符串模板中没有限制(...

详解异步JavaScript

js的消息机制和队列

单线程的JavaScript 什么是单线程? 线程(thread),是程序得以运行的基本单位,它被包含在进程当中,一个线程在同一时刻只能处理一个任务,所以单线程的程序,是不能异步处理任务的。 为什么js是单线程的? js在浏览器中,一般是处理前端UI操作的,如果让它在浏览器中可以多线程并发,也许会出现多个同时出现的线程操作同一个样式的情况,这就与js的初衷不符了,所以在浏览器中,是不能让...

AngularJS中双向数据绑定的实现

angular源码解析: $apply, $watch, $digest

AngularJS的核心特色是双向数据绑定给我们的MV*开发带来了很大方便,特别是前台数据逻辑,那么双向数据绑定是如何实现的呢? 看了看源码,发现angular源码写的还是比较干净的。 脏检查(Dirty Checking) angular中有一个$digest方法,它的作用就是检查数据改变,如果数据被改变,则「消化」这些已被改变的「脏数据」; 这个过程被称为脏检查(Dirty C...

做一个jekyll魔法师

以前端的方式构建博客

Why jekyll? 一个优秀的博客系统,我认为是这样的: 可以专心写文章和发布而不去担心网站的维护; 易于定制和重构; 若是构建一个带数据库的大型网站,显然不符合这两个要求,只用简书这种网站,不符合第二个要求。 所以我选择jekyll, 它可以完美实现我的要求,构建一个「舒服省心的博客」。 准备工作 GitHub Pages本就支持jekyll, 所以如果是在gith...

解决fixed定位抖动

fixed定位在webkit内核浏览器中会抽搐

也不知道从哪个chrome版本开始,就会出现这样的问题,比如我博客右边这个悬浮目录,当它是fixed定位时,一旦在上面触发改变样式,就会抖一下,让人感觉非常地不爽,如果项目中出现了这样的情况,对用户体验是大幅度的降低,瞬间感觉low爆了; 开始以为是应该找个东西在上面顶住它不让他飞上去,结果发现不是这个问题,它发抖是先向下再向上。 按理说scale不会改变原有布局,想着可能是布局问题,...

ajax和jsonp

js中的数据交互

AJAX AJAX(Asynchronous JavaScript and XML)是用来在不重新加载整个页面的情况下,与服务器交互数据的一种技术; 一次ajax请求一般经过四个步骤: 建立XHR(XMLHttpRequest)对象(老版本IE是ActiveXObject); 打开连接,指定参数: method, url, async; 发送请求到服务器 监控ajax状态,...

ES6 解构(Destructuring)

让人头疼又很好使的解构

解构(Destructuring) Destructuring allows binding using pattern matching, with support for matching arrays and objects. Destructuring is fail-soft, similar to standard object lookup foo["bar"], pro...