组件的实现原理(下)

57 阅读1分钟

4,props与组件的被动更新,在挂载组件的时候,通过一个方法将将 组件中挂载的属性分为props属性与Attr属性,当属性有在props中定义此时属性为props属性当属性没有在props中定义时属性为Attr属性,当props属性更新时其子组件会产生被动更新,在子组件更新时需要检测props是否有变化,如果没有变行则不需要更新, 5,setup 函数的作用与实现 在挂载组件时将setup从组件中解构出来,然后再在挂载中调用setup函数,并传入需要传入的参数,并做一些参数代理 6,组件事件与emit的实现,emit 通过将event 与 传入的参数 一个emit 方法中然后在该方法中调用从props中获取的约定的前缀属性,如果获取到则执行该方法 7,插糟的工作原理与实现,slot 通过在组件的children中将slot编译成函数或者是对象,然后将此虚似DOM传入setup中的参数中,最后在获取slot时直接返回slot对象,slot在渲染时通过找到占位符并在DIFF中将slot替换到占位符所在的位置 8,注册生命周期,在挂载组件时使用一个方法将当前的每一个生命周期存入对应的数组中然后在生命周期执行位置取出并执行