概要
コンポーネント内の子要素のテキストを取得する方法について。
方法にはTemplate RefsとSlotsを使った2パターンがあります。
Template Refs
// App.vue
<script setup lang="ts">
</script>
<template>
<MyComponent>
hello, world!
</MyComponent>
</template>
// MyComponent.vue
<script setup lang="ts">
import { ref } from 'vue';
const el = ref<HTMLElement|null>(null);
</script>
<template>
<div ref="el">
<!-- 子要素のテキストが表示される -->
{{ el?.textContent }}
</div>
</template>
Slots
// MyComponent.vue
<script setup lang="ts">
</script>
<template>
<div>
<!-- 子要素のテキストが表示される -->
{{ $slots.default?.()[0].children }}
</div>
</template>