2017-04-04 6 views
1

私の変異は、このようなものです:Uncaughtを約束する方法(約束する)TypeError:orders.forEachは関数ではありませんか?モジュールvuexストア内Vue.JS 2

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

console.log(orders)の結果はこのようなものです:それは実行

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

、そこに存在するエラー:

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

どうすれば解決できますか?

+0

ちょうど 'state.status = orders'? – Bert

答えて

2

まあ、forEachでオブジェクトを反復処理することはできません。 forEachは配列メソッドです。あなたが望むなら、あなたは鍵をつかんでそれらを反復することができます。

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

しかし、この場合では、考えていないだけで

set(state, status, orders) 

仕事?私はこの文脈でsetが利用可能であると仮定しています。あるいは、おそらくちょうど

state.status = orders 
+0

ありがとうございました。これだけだった: 'state.status = orders' –

関連する問題