createComponent在src/core/vdom/create-component.js中: export function createComponent (Ctor: Class<Component> | Function | Object | void,data: ?VNodeData,context: Component,children: ?Array<VNode>,tag?: string): VNode | Array<VNode> | void {if (isUndef(Ctor)) {return}const baseCtor = con...
vnode = createComponent( Ctor, data, context, children, tag ); } return vnode } 今天讲的是 component,跳过其他,直接走到 第二个 if,嗯,他调用了一个 createComponent 好的,我去前面探探路 代码语言:txt AI代码解释 function createComponent( Ctor, data, context, children, tag ) { var baseCtor =...
}else{// direct component options / constructorvnode = createComponent(tag, data, context, children) } createComponent定义在src/core/vdom/create-component.js中 exportfunctioncreateComponent(Ctor:Class<Component> |Function|Object|void,data: ?VNodeData,context:Component,children: ?Array<VNode>, tag?:...
如果tag 是一个字符串(也就是一个html标签),就返回一个实例化的VNode节点,否则就通过 createComponent 方法创建一个组件VNode。createComponent 在 src/core/vdom/create-component.js 中: AI检测代码解析 export function createComponent ( ...
走的是else的逻辑,我们来看一下这个createComponent这个方法,这个方法是在src/core/vdom/create-component.js里面 这个函数传入的ctor构造器可以是组件的类,也可以是函数,对象等,data是组件的数据,context上下文是当前vm的实例,children就是组件一些vnode。在开始时候,context.$option.base实际上就是vm.$option.base,而...
上一节我们研究了从 render 函数生成 vnode 的流程,这是通过 createElement 函数去实现的,那么在这其中遇到组件标签时,它实际又是调用 createComponent 函数去创建组件 vnode,或许叫组件占位 vnode 更准确,因为它并非渲染时 DOM 元素的 vnode。我们来看看它的内部实现。
创建组件 - createComponent 在分析createComponent函数前,我们得先知道vue的源码执行过程中是怎么调用到createComponent的。其实我们在上一章就有所提及,具体流程如下: ①:Vue.prototype.$mount;(src\platforms\web\entry-runtime-with-compiler.js和src\platforms\web\runtime\index.js) ...
⑧:createComponent; //src\core\vdom\create-element.js// part 3exportfunction_createElement(context:Component,//上下文环境,一般就是vmtag?: string |Class<Component> |Function|Object,//标签(element)data?:VNodeData,//VNode数据,VnodeData类型,详见flow\vnode.jschildren?: any,//Vnode子节点normalization...
Vue.component('my-component', MyComponent); new Vue({ el: '#app' }); 解释: Vue.component('my-component', MyComponent): 将MyComponent注册为一个全局组件,名称为my-component。 el: '#app': 创建一个新的Vue实例,并挂载到页面上的#app元素。
问Vue js 3-在'CreateComponentPublicInstance<{}、EN本篇文章是我参考官方文档整理的,供大家参考,高手...