親からから子へデータをどうやって送ればいいの?ってことで忘備録。
【送り方】親にある子コンポーネントのタグにバインド(:)で付けると色々送れる。
<kodomo :koreageru="present" :tsutaetai="daijinakoto"></kodomo>
↑:子に伝える言葉="送るもの"
例えばv-forで回したアイテム(v-for="item in items")←この場合でいうitemとかを送る場合は
<kodomo v-for="item in items" :koreageru="item"></kodomo>
こんな感じで送るものを中に入れてあげれば子に持ってける。
【受け取り方】子にpropsって箱を作ってあげればいい!
props:{
'koreageru': {
type: Arrey,
default: ''
},
'tsutaetai': {
type: String,
required: true
}
},
みたいな感じで書きます。
type:とかdefault:とか色々指定して受け取れる。
例えば受け取った'koreageru'を使うには、
<input type="text" v-model="koreageru">
これはテキストボックスの中に'present'と表示されます。
<input type="text" v-model="tsutaetai">
これだと'daijinakoto'って表示される。
methodsにも'this.koreageru'みたいな感じで使える。
そうすると親からもらったデータを元に、子は自分で色々遊べるようになる。
ただし、子供がデータ'this.koreageru'をいじくりまわしても、
親のデータが変わることはない。、、、$emitを使わない限り。
親のデータを変えたかったら、、、これ読んでくだせぇ。
Vue 子から親へ コンポーネント間のデータ受け渡し
https://qiita.com/fukuman/items/b0bc84081ad0d2bc522a