「 Article 」
January 20, 2019
Words count
4.5k
Reading time
4 mins.
组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展。
常见使用场景可以分为三类:
父子组件通信: props; $parent / $children; provide / inject ; ref ; $attrs / $listeners
兄弟组件通信: eventBus ; vuex
跨级...
Read article
「 VUE 」
January 13, 2019
Words count
6.9k
Reading time
6 mins.
keep-alive是Vue.js的一个内置组件。它能够不活动的组件实例保存在内存中,而不是直接将其销毁,它是一个抽象组件,不会被渲染到真实DOM中,也不会出现在父组件链中。
它提供了include与exclude两个属性,允许组件有条件地进行缓存。
具体内容可以参考官网。
<keep-alive>
<component></component>
</keep-alive>
这里的component组件会被缓存起来。
举个栗子
<keep-...
Read article
「 VUE 」
January 01, 2019
Words count
13k
Reading time
12 mins.
在使用vue.js的时候,有时候因为一些特定的业务场景,不得不去操作DOM,比如这样:
<template>
<div>
<div ref="test">{{test}}</div>
<button @click="handleClick">tet</button>
</div>
</template>
export default...
Read article
「 VUE 」
December 16, 2018
Words count
4.6k
Reading time
4 mins.
众所周知,Vue.js为我们提供了四个事件API,分别是$on,$once,$off,$emit。
初始化事件在vm上创建一个_events对象,用来存放事件。_events的内容如下:
{
eventName: [func1, func2, func3]
}
存放事件名以及对应执行方法。
/*初始化事件*/
export function initEvents (vm: Component) {
/*在vm上创建一个_events对象,用来存放事件。*/
vm....
Read article
「 VUE 」
December 09, 2018
Words count
21k
Reading time
19 mins.
原文地址
前面已经讲过Vue数据绑定的原理了,现在从源码来看一下数据绑定在Vue中是如何实现的。
首先看一下Vue.js官网介绍响应式原理的这张图。
这张图比较清晰地展示了整个流程,首先通过一次渲染操作触发Data的getter(这里保证只有视图中需要被用到的data才会触发getter)进行依赖收集,这时候其实Watcher与data可以看成一种被绑定的状态(实际上是data的闭包中有一个Deps订阅者,在修改的时候会通知所有的Watcher观察者),在data发生变化的时候会触发它的setter...
Read article