前提・実現したいこと
Vueで簡単な計算表を作成しています。
発生している問題・エラーメッセージ
計算する、増やす、減らすを押すと全てに反応してしまい個別に計算できません。
v-forで個別に指定されているはずだと思っているのですが、なぜ個別に計算されないかご教授いただけますでしょうか...
また配列の中のオブジェクトを参照する際の動きがイマイチ理解できないのですが、参考になるサイトもご教授いただけますと幸いです。
該当のソースコード
vue
1 <div 2 v-for="(item, index) in items" 3 :key="index"> 4 <p>{{item.name}} : {{item.price}} × {{item.quantity}} = {{item.total | numberWithDelimiter}}</p> 5 <button @click="culc">計算する</button> 6 <button @click="inc">増やす</button> 7 <button @click="dec">減らす</button> 8 </div>
vue
1 data() { 2 return { 3 res: "", 4 items : [ 5 { 6 name: '鉛筆', 7 price: 300, 8 quantity: 0, 9 total: 0 10 }, 11 { 12 name: 'ノート', 13 price: 400, 14 quantity: 0, 15 total: 0 16 }, 17 { 18 name: '消しゴム', 19 price: 500, 20 quantity: 0, 21 total: 0 22 }, 23 ] 24 } 25 }, 26 methods: { 27 culc() { 28 return this.items.reduce((sum, i) => sum * (i.total = i.price * i.quantity), 0); 29 }, 30 inc() { 31 return this.items.reduce((sum, i) => sum * (i.quantity += 1), 0); 32 }, 33 dec() { 34 return this.items.reduce((sum, i) => sum * (i.quantity -= 1), 0); 35 } 36 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/12 09:17
2021/09/12 11:57