11-mes-new/src/views/3DOverview/components/V3DApp.vue
2022-11-07 08:45:49 +08:00

38 lines
800 B
Vue

<template>
<div :id="containerId">
<!-- <div id="fullscreen_button" class="fullscreen-button fullscreen-open" title="Toggle fullscreen mode" /> -->
</div>
</template>
<script>
import * as v3dAppAPI from '../v3dApp/app.js'
export default {
name: 'V3DApp',
data() {
return { containerId: v3dAppAPI.CONTAINER_ID }
},
app: null,
mounted() {
v3dAppAPI.createApp().then(app => {
this.$options.app = app
const interval = setInterval(() => {
if (app.clock.running) {
this.$emit('3d-loaded')
clearInterval(interval)
}
}, 500)
})
},
beforeUnmount() {
if (this.$options.app) {
this.$options.app.dispose()
this.$options.app = null
}
}
}
</script>
<style scoped>
@import '../v3dApp/app.css';
</style>