一步一步看Vue原理

在了解 Vue 之前,我们可能会对Wacher & Dep, 有个大概的认识,下面我通过一个简单的例子来看看我们的vue是怎么走的。

<head>
    <title>Vue testing</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="./lib/vue.js">
    </script>
</head>
<body>
    <div id='app'>
        <p>
            {{a}}
        </p>
        <br>
        <input type="submit" @click='click'>

    </div>

    <script type="text/javascript">
        var vm = new Vue({
            el: '#app',
            data: {
                a: '0000'
            }
            , methods: {
                click() {

                    this.a = '1111'
                }
            }
        })
    </script>
</body>
</html>

下面的图主要介绍了 一些收集原理,有些无关的代码我直接忽略掉,因为以前我自己看些博客总数感觉 Dep 和 Watcher 连不起来。

大概有以下几个问题:

  • Dep.target 的值是什么时机赋值的?
  • Object.defineProperty 中的 get方法中触发收集, 什么时候会触发 get ?
  • 插值变量{{a}}, 是怎么样更新数据的 ?
    下面的图片 慢慢的 剖析 Vue 的运行原理
Vue原理.png

Array 的监测

监听Array.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这方面的文章很多,但是我感觉很多写的比较抽象,本文会通过举例更详细的解释。(此文面向的Vue新手们,如果你是个大牛...
    Ivy_2016阅读 15,468评论 8 64
  • 前言 Vue.js 的核心包括一套“响应式系统”。 “响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码...
    world_7735阅读 4,449评论 0 2
  • 前言 Vue.js 的核心包括一套“响应式系统”。 “响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码...
    NARUTO_86阅读 37,695评论 8 86
  • 深入解析vue 1实现原理,并实现vue双向数据绑定模型vueImitate,此模型(vueImitate)只适用...
    e_payne阅读 11,979评论 0 5
  • 地球是圆的,因为向心力大,想丢掉一个人,亦是想要让那些走失的人有一天在兜兜转转多少圈后再某一天重逢,人生路很长,没...
    合衬_42fc阅读 3,552评论 0 1