2017-04-04 1 views
1

Meine Mutationen in Modul vuex Speicher ist wie folgt:Wie man Uncaught (im Versprechen) SoureError: orders.forEach ist keine Funktion? Vue.JS 2

const mutations = { 
    [types.GET_STATUS] (state,{ orders }) { 
     console.log(orders) 
     state.status = {} 
     orders.forEach(message => { 
      set(state.status, message.id, message) 
     }) 
    }, 
} 

Das Ergebnis console.log(orders) ist wie folgt:

Object {1: "status 1", 2: "status 2", 3: "status 3"}

Wenn es ausgeführt wird, Fehler existieren:

Uncaught (in promise) TypeError: orders.forEach is not a function

Wie kann ich es lösen?

+0

Nur, 'state.status = orders'? – Bert

Antwort

2

Nun, Sie können nicht über ein Objekt mit forEach iterieren. forEach ist eine Array-Methode. Wenn Sie wollten, könnten Sie die Schlüssel greifen und über sie hinweg iterieren.

const keys = Object.keys(orders); 
keys.forEach(key => set(state.status, key, orders[key]) 

Aber in diesem Fall würde

nicht nur
set(state, status, orders) 

Arbeit? Ich nehme an, set ist in diesem Zusammenhang verfügbar. Oder sogar nur

state.status = orders 
+0

Vielen Dank. Es war nur das: 'state.status = orders' –

Verwandte Themen