【问题标题】:TypeError: this.$cookies is undefined using vue-cookieTypeError: this.$cookies 未使用 vue-cookie 定义
【发布时间】:2021-03-26 22:07:32
【问题描述】:

我正在尝试使用 vue cookie,我完成了安装它的所有过程

npm install vue-cookies --save

在我的 /resources/js/app.js 我有

window.Vue = require('vue').default;
var VueCookie = require('vue-cookie');
Vue.use(VueCookie);
this.$cookies.set('test', 'Hello world!', 1);

所以,当我加载页面时,我给出了下一个错误

TypeError: this.$cookies is undefined    

我尝试以不同的方式解决这个问题,例如:

this.$cookies.set(...)
Vue.$cookies.set(...)
this.$cookie.set(...)
Vue.$cookies.set(...)
window.$cookies.set(...)
window.$cookie.set(...)
Vue.prototype.$cookie = VueCookie;

但是没有任何效果并且总是给出同样的错误:(

【问题讨论】:

    标签: vue.js cookies vue-cookies


    【解决方案1】:

    您在 Vue 上下文之外使用 this.$cookies,其中 this 可能是 window

    要解决此问题,请将this.$cookies 替换为Vue.$cookies 以设置全局cookie,或将this.$cookies 移动到组件方法/挂钩。

    基于docs的用法示例:

    //...
    Vue.use(VueCookies)
    
    // set global cookie
    Vue.$cookies.set('theme', 'default');
    
    // set cookie from Vue context
    new Vue({
      mounted() {
        this.$cookies.set('theme', 'default');
      }
    })
    

    【讨论】:

    • 我在组件中有this.$cookies.set('theme', 'default');,具体在挂载方法中,但继续显示相同的错误
    • 当我使用Vue.$cookies 时给我Vue.$cookies is undefined
    猜你喜欢
    • 2021-03-26
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2020-02-15
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多