Vue.js 3日目の初心者です。
methods に以下のような処理を追加しています。
やりたいこと
現在の合計値: presentSum が 最大値を超えている場合、
リアクティブにクリックした要素のデータを更新(マイナス1)したい、ということです。
javascript
1max_chk: function (event) { 2 let presentSum = this.sumRows(); 3 if (presentSum >= this.maxNum) { 4 event.target.value = event.target.value - 1; 5 } 6},
### 何が問題か
上記の方法では、「リアクティブ」にはデータが変更されません。
DOM 要素を更新しているだけで、クリックした要素とデータバインディングしている別要素とは連携がとれていません。
一見、うまくいったように見えるのですが、別要素をクリックすると、そちらの値に上書きされてしまいます。
** 4/12 追記: 質問を少し変更します。**
max_chk のメソッドの引数にデータバインディングしている要素の名前を入れ、
methods 内で受け取って、その名前を元に処理をするにはどうしたらいいでしょうか?
** 4/12 追記: ここまで **
分かれば単純な話だとは思うのですが…。
どうかご教示のほど、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/11 10:35
2019/04/11 10:44