无法读取 store.js 中未定义的 属性 'post'
Cannot read property 'post' of undefined in store.js
我在 store.js - vuex
中有一个名为 signUserIn
的操作。 SignUserIn 方法只是一个 http post
请求。我在 store
文件中导入了 Vue-Resource
: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;
}
$http
是 Vue 实例的 属性,在 vuex store 中你应该导入 Vue 并使用 Vue.http
来发出请求。
Vue.http.post(
'url',
data,
{ channel: 'default' },
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }
)
...
我在 store.js - vuex
中有一个名为 signUserIn
的操作。 SignUserIn 方法只是一个 http post
请求。我在 store
文件中导入了 Vue-Resource
: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;
}
$http
是 Vue 实例的 属性,在 vuex store 中你应该导入 Vue 并使用 Vue.http
来发出请求。
Vue.http.post(
'url',
data,
{ channel: 'default' },
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }
)
...