vm.$children
は、Vue.jsのインスタンスの直接の子コンポーネントの配列を保持するプロパティです。Vue.jsのコンポーネントは階層構造になっており、親コンポーネントが直接、子コンポーネントを持つ場合、vm.$children
を使用してそれらの子コンポーネントにアクセスできます。
以下は、vm.$children
の使用例です。
<!-- ParentComponent.vue -->
<template>
<div>
<h2>Parent Component</h2>
<ChildComponent />
<ChildComponent />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
mounted() {
console.log(this.$children); // [ChildComponent instance, ChildComponent instance]
}
};
</script>
<!-- ChildComponent.vue -->
<template>
<div>
<h3>Child Component</h3>
</div>
</template>
<script>
export default {};
</script>
この例では、ParentComponent.vue
が親コンポーネントであり、ChildComponent.vue
が子コンポーネントです。親コンポーネント内のmounted
フックでthis.$children
をコンソールに出力することで、直接の子コンポーネントのインスタンス配列が表示されます。この配列には、子コンポーネントのインスタンスが含まれています。
注意点として、vm.$children
は直接の子コンポーネントのみを含む配列であり、孫やそれ以降のコンポーネントは含まれません。また、コンポーネントのレンダリングのタイミングによっては、$children
にはコンポーネントが含まれないことがあります。そのため、$children
を使う場合は、適切なタイミングで使用する必要があります。
コメント