library-picturebook-activity/frontend/src/components/ModelViewer.vue
2026-01-12 20:04:11 +08:00

44 lines
1.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!-- 这个组件作为跳转器使用实际查看器在 /model-viewer 页面 -->
<span></span>
</template>
<script setup lang="ts">
import { watch } from "vue"
import { useRouter } from "vue-router"
interface Props {
open: boolean
modelUrl: string
}
interface Emits {
(e: "update:open", value: boolean): void
}
const props = defineProps<Props>()
const emit = defineEmits<Emits>()
const router = useRouter()
// 监听打开状态,跳转到全屏页面
watch(
() => props.open,
(newOpen) => {
console.log("ModelViewer watch triggered:", { open: newOpen, url: props.modelUrl })
if (newOpen && props.modelUrl) {
console.log("正在跳转到模型查看页面:", props.modelUrl)
// 先关闭状态
emit("update:open", false)
// 跳转到模型查看页面
router.push({
path: "/model-viewer",
query: { url: props.modelUrl }
})
} else if (newOpen && !props.modelUrl) {
console.error("模型URL为空无法跳转")
emit("update:open", false)
}
}
)
</script>