Article January 20, 2019

vue 组件之间的通信

Words count 4.5k Reading time 4 mins.

组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,...

Read article

Article January 20, 2019

vue 组件之间的通信

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

keep-alive组件的使用及其实现原理

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

Vue.js异步更新DOM策略及nextTick

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

Vue事件API

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

vue源码之从源码角度再看数据绑定

Words count 21k Reading time 19 mins.

原文地址

前面已经讲过Vue数据绑定的原理了,现在从源码来看一下数据绑定在Vue中是如何实现的。

首先看一下Vue.js官网介绍响应式原理的这张图。

这张图比较清晰地展示了整个流程,首先通过一次渲染操作触发Data的getter(这里保证只有视图中需要被用到的data才会触发getter)进行依赖收集,这时候其实Watcher与data可以看成一种被绑定的状态(实际上是data的闭包中有一个Deps订阅者,在修改的时候会通知所有的Watcher观察者),在data发生变化的时候会触发它的setter...

Read article
Load more
0%