一.【Vue原理】响应式原理

1、Object.defineProperty  -  get ,用于 依赖收集2、Object.defineProperty  -  set,用于 依赖更新3、每个 data 声明的属性,都拥有一个的专属依赖收集器 subs4、依赖收集器 subs 保存的依赖是 watcher5、watcher 可用于 进行视图更新
Vue 会把数据设置响应式,既是设置他的 get 和 set当 数据被读取,get 被触发,然后收集到读取他的东西,保存到依赖收集器当 数据被改变,set 被触发,然后通知曾经读取他的东西进行更新

二.【Vue原理】响应式原理

1、父组件  data 的值 和 子组件的 props 没有任何联系,更改 props 不影响父组件 data

2、props 也是响应式的,跟 data 本质 差不多

3、props 会访问转接,赋值转接 ,其实操作的是 vm._props 的属性

<div class="a" >
    <testb :child-name="parentName" ></testb>
</div>

new Vue({    
    el:".a",        
    name:"A",    
    components:{        
        testb:{            
            props:{                
                childName:""
            },            
        template: '<p>父组件传入的 props 的值 {{childName}}</p>',        }
    },
    data(){        
        return {            
            parentName:"我是父组件"        }
    },
})


(function() {    
    with(this){  
        return _c('div',{staticClass:"a"},[
            _c('testb',{attrs:{"child-name":parentName}})
        ],1)
    }})

Follow your heart ~!