Vue.jsを勉強しています。練習のためじゃんけんケームを作ってみました。ところが一番基本で学んだマスタッシュが機能しません。試しにv-textを試したところうまくいきましたので根本的な間違いではないようです。なぜマスタッシュタグではうまくいかないのでしょうか?
JS
Vue.component('jyanken-button', { // props:['hand'], template: ` <button v-on:click="$emit('bt-clicked')" ></button> ` }) let vm = new Vue({ el: '#app', data: { hands: [ { handEn: 'goo', handJa: 'ぐう', handImg: 'img/goo.jpg'}, { handEn: 'tyoki', handJa: 'ちょき', handImg:'img/tyoki.jpg'}, { handEn: 'paa', handJa: 'ぱあ', handImg:'img/paa.jpg'} ],
HTML
<jyanken-button v-for="hand in hands" v-bind="hand" v-on:bt-clicked="jyankenFn(hand)" v-text="hand.handJa" />
v-textを使用した上記コードではボタン内のテキストは想定通り「ぐう、ちょき、ぱあ」と表示されるのですが
<jyanken-button v-for="hand in hands" v-bind="hand" v-on:bt-clicked="jyankenFn(hand)" >{{hand.handJa}</jyanken-button>
のようにすると機能しません。自分なりに様々調べてみたのですがわかりません。エラーはでておらず画面からはボタンそのものが消えてしまいます。
もしかするとコンポーネント内のpropsの行はあっても無くても変化ありません。HTMLの中でhandを使っているので必要だと思ったのですがそうでもないようです。この辺の不理解が関係しているのでしょうか?理解の深い方からすると簡単かもしれませんがわかりません。何卒よろしく願いします。
回答2件
あなたの回答
tips
プレビュー