From dec71e068ae56e1812dc5aa47b4632a4f534484e Mon Sep 17 00:00:00 2001 From: "blake.li" Date: Sun, 20 Nov 2022 20:38:52 +0800 Subject: [PATCH] commit homework --- src/mini-renderer.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/mini-renderer.js b/src/mini-renderer.js index 874573b..1cfe60f 100644 --- a/src/mini-renderer.js +++ b/src/mini-renderer.js @@ -1,4 +1,4 @@ -import { createRenderer } from '@vue/runtime-core' +import { createRenderer, createVNode } from '@vue/runtime-core' const render = createRenderer({ forcePatchProp(el, key){ @@ -66,7 +66,24 @@ const render = createRenderer({ }) const createApp = (...args) => { - //TODO + const app = { + _component: { ...args[0] }, + mount: (domContainer) => { + let container = + typeof domContainer === 'string' + ? document.querySelector(domContainer) + : domContainer; + + if (container instanceof HTMLDivElement) { + let vnode = createVNode(args); + render.render(vnode, container); + } else { + console.error('Container is a HTMLDivElement') + } + } + }; + + return app; } export {