2017-04-04 33 views
1

我在模塊vuex店突變是這樣的:如何sove未捕獲(承諾)TypeError:orders.forEach不是一個函數? 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

那麼,你不能迭代一個對象與forEachforEach是一種數組方法。如果你想,你可以抓住鑰匙並重復它們。

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' –

相關問題