import { defineComponent, h, computed, ref } from "@vue/runtime-core"; import startPage from "./page/startPage"; import gamePage from "./page/gamePage"; import endPage from "./page/endPage"; // template -> render() export default defineComponent({ setup() { // 创建一个响应式数据对象 // 值类型 string number // const currentPageName = ref('startPage') const currentPageName = ref("gamePage"); // const currentPageName = ref('endPage') // console.log(currentPageName) // 计算属性 const currentPage = computed(() => { if (currentPageName.value === "startPage") { return startPage; } else if (currentPageName.value === "gamePage") { return gamePage; } else if (currentPageName.value === "endPage") { return endPage; } }); return { currentPageName, currentPage, }; }, render(ctx) { // console.log('---ctx---') // console.log(ctx) return h("Container", [ h(ctx.currentPage, { onChangePage(page) { // console.log(page) ctx.currentPageName = page; }, }), ]); // return h("Container", [h(gamePage)]); }, });