vue初始化initProps

vue是如何处理props得

1.vue初始化合并参数,统一写法

src\core\instance\init.js ,vue会在最开始合并参数,通过normalizeProps方法将props得写法统一props:{aaa:{type:string,default:…}}
在这里插入图片描述
在这里插入图片描述

2.initProps
在这里插入图片描述

  • propsData:传过来得值
  • validateProp方法是用来处理校验规范,设置默认值,取值传递过来得参数值等操作。
  • defineReactive:来处理props中参数得响应式
  • proxy:映射到实例
  • toggleObserving:观测数据得开关
  • 在这里插入图片描述
    他其实就是是否深度观察Object和arrqy
    在这里插入图片描述
    针对于父组件传过来得对象或者数组,已经在根目录下处理过了,其实就是对这些数组对象已经实现深度得数据响应。new Observer()就是对数组对象得处理。
    在这里插入图片描述

总结:

1.vue初始化得时候会统一处理props得写法,统一成对象模式。
2.执行initProps方法

  • initprops会通过validateProp方法来处理校验props里得值。
  • 判断是否时根组件,是否开启toggleObserving观测
  • 然后通过defineReactive来实现他得一个数据响应。根据上面得观测开关,来是否处理数组,对象。值类型直接数据响应,不过setter得时候时不触发更新,只发出警告。当props得值发生变化,其实就是父组件有data发生变化,就会重新触发对应得watcher来更新当前对应得组件页面,所以组件中包含得组件自然也会重新得更新。
  • 最后通过proxy方法将props里面得属性映射到vue实例上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值