我可以在 Vuex 商店中使用它吗?
Can I use this in Vuex store?
我使用 vue-cookies 和 vue-resource 创建项目,我尝试使用 this.$cookies.get('my-cookie')
访问 cookie并用 this.$http.post('URL')
请求我的 API。 Tut 商店无法访问 this
.
我在 store.js 中的操作:
checkCookies: () => {
if (this.$cookies.get('test') === null) {
console.log('vide')
//envoyer sur la page de connexion
} else {
console.log('pas vide')
this.$http.post('URL', {
})
}
}
我如何调用我的操作(点击时调用方法):
test() {
return this.$store.dispatch('checkCookies')
}
如何调用我的测试函数:
<v-btn @click="test">cookies!</v-btn>
当我 运行 checkCookies
:
时出现此错误
Error in v-on handler: "TypeError: _this is undefined"
我通常会在我的商店中使用 this
,我知道我可以一个一个地导入每个包来使用它们但是,我想知道是否有办法在中使用 this
vuex 到 ?
this.$cookies
和 this.$http
在组件方法中工作,因为这些函数由各自的插件添加到 Vue.prototype
。
无论如何,这些只是方便的方法;这些插件似乎直接在 Vue
上安装了等效的方法:
this.$http -> Vue.http
this.$cookies -> Vue.$cookies
如果您真的希望能够在 Vuex 操作中执行 this.$http
,那么您需要将方法分配给存储:
const store = new Vuex.Store({ ... })
// Make sure you have registered the Vue plugins by this point
store.$http = Vue.http
store.$cookies = Vue.$cookies
我使用 vue-cookies 和 vue-resource 创建项目,我尝试使用 this.$cookies.get('my-cookie')
访问 cookie并用 this.$http.post('URL')
请求我的 API。 Tut 商店无法访问 this
.
我在 store.js 中的操作:
checkCookies: () => {
if (this.$cookies.get('test') === null) {
console.log('vide')
//envoyer sur la page de connexion
} else {
console.log('pas vide')
this.$http.post('URL', {
})
}
}
我如何调用我的操作(点击时调用方法):
test() {
return this.$store.dispatch('checkCookies')
}
如何调用我的测试函数:
<v-btn @click="test">cookies!</v-btn>
当我 运行 checkCookies
:
Error in v-on handler: "TypeError: _this is undefined"
我通常会在我的商店中使用 this
,我知道我可以一个一个地导入每个包来使用它们但是,我想知道是否有办法在中使用 this
vuex 到 ?
this.$cookies
和 this.$http
在组件方法中工作,因为这些函数由各自的插件添加到 Vue.prototype
。
无论如何,这些只是方便的方法;这些插件似乎直接在 Vue
上安装了等效的方法:
this.$http -> Vue.http
this.$cookies -> Vue.$cookies
如果您真的希望能够在 Vuex 操作中执行 this.$http
,那么您需要将方法分配给存储:
const store = new Vuex.Store({ ... })
// Make sure you have registered the Vue plugins by this point
store.$http = Vue.http
store.$cookies = Vue.$cookies