Не удается прочитать свойство 'post' из неопределенного в store.js
У меня есть действие в store.js - vuex
называется signUserIn
, Метод SignUserIn просто http post
запрос. Я импортировал Vue-Resource
в store
файл: import VueResource from 'vue-resource'
, Vue.use(VueResource)
а также в main.js
- store.js
был импортирован. В моем SignIn.vue
компонент я отправляю SignIn
действие. Я получаю обратно ошибку: Cannot read property 'post' of undefined
, Что не так с моим импортом или кодом?
действие:
signUserIn ({commit, getters}, payload) {
let data = {
_email: payload.email,
_password: payload.password
}
let that = this
that.$http.post(
'url',
data,
{ channel: 'default' },
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }
).then(response => {
const newUser = {
email: payload.email,
login: payload.login,
cart: []
}
commit('setUser', newUser)
}, error => {
console.error(error);
});
}
Мутация:
setUser (state, payload) {
state.user = payload;
}
1 ответ
Решение
$http
является свойством экземпляра Vue, в хранилище vuex следует импортировать Vue и использовать Vue.http
делать запросы.
Vue.http.post(
'url',
data,
{ channel: 'default' },
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }
)
...