VUE January 06, 2019

Vuex源码解析

Words count 21k Reading time 19 mins.

我们在使用Vue.js开发复杂的应用时,经常会遇到多个组件共享同一个状态,亦或是多个组件会去更新同一个状态,在应用代码量较少的时候,我们可以组件间通信去维护修改数据,或者是通过事件总线来进行数据的传递...

Read article

VUE January 06, 2019

Vuex源码解析

Words count 21k Reading time 19 mins.

我们在使用Vue.js开发复杂的应用时,经常会遇到多个组件共享同一个状态,亦或是多个组件会去更新同一个状态,在应用代码量较少的时候,我们可以组件间通信去维护修改数据,或者是通过事件总线来进行数据的传递以及修改。但是当应用逐渐庞大以后,代码就会变得难以维护,从父组件开始通过prop传递多层嵌套的数据由于层级过深而显得异常脆弱,而事件总线也会因为组件的增多、代码量的增大而显得交互错综复杂,难以捋清其中的传递关系。

那么为什么我们不能将数据层与组件层抽离开来呢?把数据层放到全局形成一个单一的Store...

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

VUE December 02, 2018

Vu源码之依赖收集

Words count 3.7k Reading time 3 mins.

先看这段代码

new Vue({
    template: 
        `<div>
            <span>text1:</span> {{text1}}
            <span>text2:</span> {{text2}}
        <div>`,
    data: {
        text1: 'text1',
        text2: 'text2',
        text3:...
Read article
Load more
0%