首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在Store.js文件中使用cookies

无法在Store.js文件中使用cookies
EN

Stack Overflow用户
提问于 2019-06-07 22:34:18
回答 1查看 709关注 0票数 0

我正在尝试将localStorage的使用改为cookies,因为我需要使用子域。当我在任何.vue文件中使用this.$cookie.set()或get()时,我可以毫无问题地使用,但当我在任何.js文件中使用时,我会得到以下结果:

TypeError:无法读取未定义的属性'set‘。

我正在使用vue-cookie btw。

这是我的store.js文件:

代码语言:javascript
运行
AI代码解释
复制
import Vue from "vue";
import Vuex from "vuex";
import axios from "./axios-auth.js";
import globalAxios from "axios";
import router from "./router";
import VueCookie from 'vue-cookie';
Vue.use(VueCookie)
Vue.use(Vuex);

export default new Vuex.Store({
state: {
    token: null,
    userId: null,
    expireIn: null,
    segmentoSelecionado: null,
    codigoTransfSelecionado: null
},
actions: {
login({ commit }, authData) {
      axios
        .post("/auth", {
          username: authData.username,
          password: authData.password,
          returnSecureToken: true
        })
        .then(res => {
          const now = new Date().getTime();
          const expirationDate = new Date(now + 3500000).getTime();
          this.$cookie.set('userToken', res.data.token, {domain: 'subdomain.domain.com'});
          commit("authUser", {
            userToken: this.$cookie.get('userToken'),
          });
        .catch(error => console.log(error));
    },
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-07 23:07:41

Vue.use(VueCookie):扩展Vue对象,将$cookie功能添加到继承自该对象的所有组件。

Vuex不是从Vue继承的,所以不会有$cookie功能。

我刚刚检查了vue-cookie docs,应该通过Vue.cookie在全局vue对象上公开该功能

尝试在Vue对象上使用cookie,而不是在Vuex对象上使用$cookie

代码语言:javascript
运行
AI代码解释
复制
Vue.cookie.set('userToken', res.data.token, {domain: 'subdomain.domain.com'});

代码语言:javascript
运行
AI代码解释
复制
userToken: Vue.cookie.get('userToken')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56501883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档