VdomComp.vue 779 B

12345678910111213141516171819202122232425262728
  1. <script setup lang="ts">
  2. import { ref } from 'vue'
  3. defineProps<{
  4. msg: string
  5. }>()
  6. const bar = ref('slot prop')
  7. </script>
  8. <template>
  9. <div class="vdom" style="border: 2px solid blue; padding: 10px">
  10. <h2>This is a VDOM component in Vapor</h2>
  11. <p class="vdom-prop">props.msg: {{ msg }}</p>
  12. <div style="border: 2px solid aquamarine; padding: 10px">
  13. <h3>vapor slots in vdom</h3>
  14. <button class="change-vapor-slot-in-vdom-prop" @click="bar = 'changed'">
  15. Change slot prop
  16. </button>
  17. <div class="vapor-slot-in-vdom-default">
  18. #default: <slot :foo="bar">default slot fallback</slot>
  19. </div>
  20. <div class="vapor-slot-in-vdom-test">
  21. #test <slot name="test">fallback</slot>
  22. </div>
  23. </div>
  24. </div>
  25. </template>