摘要:
挂载卸载过程 constrctor() 完成数据的初始化,接收参数props和context。需要通过super()传入这两个参数才能使用。 componentWillMount() 组件已经经历了constructor数据初始化后,还未渲染到页面上。一般用于服务端渲染。 componentDidM 阅读全文
摘要:
vue利用“发布者 订阅者模式”和数据劫持实现双向数据绑定。 发布者 新建一个订阅者数组 遍历绑定数据的所有子属性,利用 对属性进行get、set的改写。 在get方法中,每当调用get,调用者就是订阅者,就添加这个订阅者到订阅者数组 addSub(dep.target)。并将数据返回。 在set方 阅读全文
摘要:
vue router包含三种模式: history,通过history API 实现 hash,通过onhashChange事件实现 abstract hash模式实现原理 将mode更改为hash 设置a标签为跳转链接 js var aObjs = document.querySelectorAl 阅读全文
摘要:
首先我们要知道,CSS选择器的解析是从右往左的,例如 div p a .box 首先查找的是页面中class为box的元素,再分别查找为a的元素、为p的元素。。。 关键选择器: 因此最重要的就是最右边的选择器,称为关键选择器 css选择器的效率排序: 内联样式 > ID选择器 > 类选择器 > 标签 阅读全文
摘要:
在页面加载过程中,当客户端请求服务端获取页面代码后是如何解析的呢? 分为以下五个步骤: 第一步 :构建DOM树,其中包括语法解析、词法解析,最后构成节点相连的树 第二步:构建CSSOM树,对每个节点添加样式 第三步:合并DOM树和CSSOM树形成渲染树 其中需要过滤不可见的节点、样式隐藏的节点 第四 阅读全文
摘要:
Base64实际上就是一种转码方式,将二进制数据转换为用64个字符表示的数据 主要用来对URL中特殊字符进行转码、对图片的src进行转码、对语言文字进行转码。 Base64的原理? 世界上单个字符最长字节是3个字节,也就是24位,Base64将24位分为每段有6位的4段,再为每段前面添加两个0。再将 阅读全文
摘要:
就是对第三方应用的授权机制,使其获取用户的数据 数据所有者收到第三方请求授权后,告诉系统通过第三方应用的请求,系统就会自动生成一个令牌(token),用来替代密码,供第三方应用使用。 令牌的特点 是短期有效的。因为获取了令牌就相当于获取了密码,所以需要保证安全性,用户也不能进行更改。 令牌可以被数据 阅读全文
摘要:
AMD对于依赖的模块,是提前执行的,而CMD是延迟执行的,不过在requirejs2.0,AMD也支持延迟执行 AMD依赖前置,CMD依赖就近。 AMD在定义模块时就将依赖模块先写好,而CMD允许在要使用的时候再写入依赖模块,并且依赖于最近的模块 AMD的api是一对多的,比如require有全局r 阅读全文
摘要:
AMD是浏览器端实现模块化的规范,实现了异步加载。通过require.js实现 定义无依赖的模块 define(function(){ ... return {模块} }) 定义有依赖的模块 define(['module1'..], function(m1..){ // 通过第一个参数将依赖的模块 阅读全文
摘要:
父组件向子组件传值 在父组件的子组件标签上,绑定属性,将传递参数作为属性值 <Father><Son :money = 'money' /> </Father> 在子组件的props属性中,声明从父组件传来的值 props:['money'] 如果想要对传来的参数进行验证,有两种方式 验证参数类型: 阅读全文