1

我正在尝试在 main.js 中导入js-cookies

主.js

import * as Cookies from "js-cookie";
Vue.use(Cookies)

在组件中使用

 this.$Cookies.set('name', data.user, { secure: true });

错误

TypeError: Cannot read property 'set' of undefined

问题是什么?我已经尝试了一千种方法,但它仍然不起作用。

4

2 回答 2

2

Vue.use(name)用于安装 vue 插件。该包将需要一个接收 vue 实例的安装方法。

#1 您可以在没有插件的情况下使用 cookies 包,在组件中导入模块

<script>
import  Cookies from 'js-cookie';
export default {
  methods: {
    addCookie() {
      console.log('adding the cookie');
      Cookies.set('chocolate', 'chookies');
      console.log(Cookies.get());
    }
  }
}
</script>

#2你可以添加一个 VUE 插件并为 Cookies 模块设置一个 Cookies 原型函数。(原型 vue 函数将可用于组件,以 $ 为前缀是标准的)。

src/CookiesPlugin.js

import Cookies from 'js-cookie';

const CookiesPlugin = {
  install(Vue, options) {
    Vue.prototype.$Cookies = Cookies;
  }
};

export default CookiesPlugin;

src/main.js

import CookiesPlugin from './CookiesPlugin';
Vue.use(CookiesPlugin);

在组件中

this.$Cookies.set('chocolate', 'chookies');
console.log(this.$Cookies.get());
于 2019-06-11T00:42:14.907 回答
0

您正在使用 NOT Vue(Vanilla JS 库)库,并且尝试将其用作 Vue 资源。

尝试改用这个

于 2019-06-10T22:12:07.577 回答