miniMap.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <template>
  2. <teleport v-if="show" :to="to">
  3. <span class="button-switch" @click.stop="toggleMap">
  4. <!-- <ui-icon type="show_map_collect"></ui-icon> -->
  5. </span>
  6. <div v-if="showDollhouse" class="change" @click="changeMode">
  7. <!-- <ui-icon type="show_3d_normal"></ui-icon> -->
  8. <span> 3D模型</span>
  9. </div>
  10. </teleport>
  11. </template>
  12. <script lang="ts">
  13. import { defineComponent, watchEffect } from "vue";
  14. import { propTypes } from "/@/utils/propTypes";
  15. export default defineComponent({
  16. name: "minMap",
  17. props: {
  18. show: propTypes.bool.def(false),
  19. showDollhouse: propTypes.bool.def(false),
  20. to: propTypes.string.def(""),
  21. },
  22. emits: ["changeMode", "toggleMap"],
  23. setup(props, { emit }) {
  24. watchEffect(() => {
  25. if (props.to?.length) {
  26. debugger;
  27. }
  28. });
  29. // debugger
  30. const toggleMap = () => {
  31. emit("toggleMap");
  32. };
  33. const changeMode = () => {
  34. emit("changeMode", "dollhouse");
  35. };
  36. return {
  37. toggleMap,
  38. changeMode,
  39. };
  40. },
  41. });
  42. </script>