2017-12-18 2 views
0

Ich hätte gerne drei Eingänge, die Daten zu jedem Datenfeld hinzufügen.Neue Daten zu Array

Eingabe sieht wie folgt aus:

<input type="range" min="0" max="10" step="1" v-model="newData">{{ newData }} 
<button @click="addData(newData, 'first')">Add</button> 

und Skript

const app = new Vue({ 
    el: '#app', 
    data: { 
    newData: 5, 
    dimensions: [ 
    { 
     title: 'first', 
     data: [0, 2, 5, 9, 5, 10, 3, 5, 0, 0, 1, 8, 2, 9, 0] 
    }, 
    { 
     title: 'second', 
     data: [1, 3, 8, 1, 2, 3, 3, 3, 5, 1, 9, 2, 4, 6, 0] 
    }, 
    { 
     title: 'third', 
     data: [6, 1, 6, 1, 2, 5, 3, 9, 5, 1, 0, 2, 4, 4, 10] 
    }] 
    }, 
    methods: { 
    addData() { 
     ??? 
    } 
    } 
}) 

Welche sollte mein addData Methode sein? Ich kann nicht auf eine bestimmte Dimension drücken. Ich schaffe es einfach, einen neuen hinzuzufügen.

Ich bin froh, wenn mir jemand helfen kann :)

Antwort

2

ändern addData() Methode zwei Parameter zu akzeptieren, die Daten und die Dimension, die zu drücken. Dann sollte es wie folgt aussehen:

addData(mData, mDimension) { 
    this.dimensions.forEach((dimension) => { 
    if (dimension['title'] === mDimension) { 
     dimension['data'].push(parseInt(mData)); 
    } 
    }); 
} 

Vergessen Sie nicht, die Daten und die Dimension in Ihrem Methodenaufruf zu übergeben.

+0

Danke :) Wie kann ich Daten und Dimension in Methodenaufruf übergeben? – bbbmazon

+0

Sie würden sie genau wie für jede andere Methode weitergeben. Also '@ click =" addData (newData, 'first') "', zum Beispiel. – HEATH3N

+0

Ich bekomme immer noch _ReferenceError: Dimensionen ist nicht definiert_ von addData Methode – bbbmazon

Verwandte Themen