suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Vue lauscht auf ein Element in einem Array in Daten

Wie im Bild gezeigt, möchte ich items.amount zusätzlich zur for-Schleife überwachen. Gibt es eine einfachere Möglichkeit, es zu schreiben?

女神的闺蜜爱上我女神的闺蜜爱上我2768 Tage vor810

Antworte allen(2)Ich werde antworten

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 11:01:38

    computed: {
      totalAmount () {
        // 计算出 items 数组中的 amount 总额
        return this.items.reduce((a, b) =>
          ({ amount: a.amount + b.amount })).amount
      }
    },
    watch: {
      totalAmount (newVal) {
        // 当计算属性变更时触发更新
        console.log('amount change to ', newVal)
      }
    }

    Antwort
    0
  • 怪我咯

    怪我咯2017-07-05 11:01:38

    个人觉得,你的总额的money应该改成一个计算属性

    computed: {
             money() {
                  let sum  = 0;
                  this.items.forEach(item => {
                         sum += item.amount;
                  });
                  return sum;
             }
    }

    然后将money属性从data中删除,同时删除你的watch

    Antwort
    0
  • StornierenAntwort