2016-11-15 1 views
0

У меня возникают некоторые проблемы с получением indexOf внутри мутации vuex для работы, когда я использую действие с обещанием. Это мое действиеindexOf отказывается работать внутри vue мутации, когда действие использует обещание

export const deleteItem = ({commit}, item) => { 
    return new Promise((resolve, reject) => { 
     Vue.http.delete(item.url, item) 
      .then(response => { 
       commit(types.DELETE_ITEM, {response, item}) 
       resolve(response) 
      }) 
      .catch(error => { 
       commit(types.ERROR, error) 
       reject(error) 
      }) 
    }) 
} 

Это моя мутация

[types.DELETE_ITEM](state, {response, item}) { 
    state.notifications = { 
      display: true, 
      type:  'success', 
      ok:   response.ok, 
      status:  response.status, 
      statusText: response.statusText, 
      body:  response.body 
     } 
     state.items.splice(state.items.indexOf(item), 1) 
    } 

Я получаю сообщение об ошибке IndexOf не является функцией кто-нибудь знает, почему это?

ответ

0

Я был настолько глуп, чтобы переназначить массив state.items для объекта в коде, а функция indexOf исчезла.

Смежные вопросы