一.【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)
}})
Comments | 1 条评论
未完持续