2022.11.11(更新日: 2025.08.24)
コンポーネント、v-for、v-bind
はじめに
コンポーネント
v-for
v-bind
について書いていきます。
https://github.com/ki-hi-ro/my-vue-js/tree/main/vue-js-3
コンポーネント
my-componentについて考えていきましょう。
HTML
my-componentです。
<div id="app">
<my-component v-for="(item, index) in myArray" v-bind:my-name="item" >
</my-component>
</div>
JS
MyComponentが定義されています。
var MyComponent = {
template: '<p class="my-comp">{{ myName }}のコンポーネント</p>',
props: {
myName: String
}
}
Vue.createApp({
data() {
return {
myArray:['1つ目','2つ目','3つ目','4つ目']
}
},
components: {
'my-component': MyComponent
}
}).mount("#app");
画面
JSで定義されたtemplateが繰り返して表示されていることが確認できました。


v-for
繰り返しのv-forです。
<div id="app">
<my-component v-for="(item, index) in myArray" v-bind:my-name="item" >
</my-component>
</div>
myArrayからitemとindexを一つずつ取り出していそうですね。
myArrayです。
Vue.createApp({
data() {
return {
myArray:['1つ目','2つ目','3つ目','4つ目']
}
},
components: {
'my-component': MyComponent
}
}).mount("#app");
v-bind
my-nameがitemとバインドされていますね。
<div id="app">
<my-component v-for="(item, index) in myArray" v-bind:my-name="item" >
</my-component>
</div>
my-nameは、JSで言うところのMynameです。
var MyComponent = {
template: '<p class="my-comp">{{ myName }}のコンポーネント</p>',
props: {
myName: String
}
}
{{ myName }}にmyArrayからitemとして取り出された文字列が出力されるという具合です。
コメントを残す