在Main.js中导入js-cookie时出现问题

时间:2019-06-10 18:49:04

标签: vue.js js-cookie

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

  

Main.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

出什么问题了? 我已经尝试了千种方法,但仍然无法正常工作。

2 个答案:

答案 0 :(得分:2)

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

#1 您可以使用cookie软件包,而无需插件将组件导入模块

<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());

答案 1 :(得分:0)

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

Try using this one instead