vue-cookie2
A Vue.js plugin for manipulating cookies tested up to Vue v2.5.17
Installation
Install through npm or yarn:
npm install vue-cookie2 --save
yarn add vue-cookie2
Include in <body>
after loading Vue and it will automatically hook into Vue:
<script src="/node_modules/vue-cookie/build/vue-cookie.js'"></script>
Or do it the cool way and load it in your main.js/app.js
:
var Vue = require('vue');
var VueCookie = require('vue-cookie2');
Vue.use(VueCookie);
Usage
The plugin is available through this.$cookie
in components or Vue.cookie
.
Rather than implementing my own Cookie handling logic the plugin now wraps the awesome
tiny-cookie package.
Example
this.$cookie.set('test', 'Hello world!', 1);
this.$cookie.get('test');
this.$cookie.getAll();
this.$cookie.remove('test');
this.$cookie.flush();
Advanced examples
There are some options can be set in the third argument.
Domain
this.$cookie.set('test', 'Random value', {expires: 1, domain: 'localhost'});
this.$cookie.remove('test', {domain: 'localhost'});
Expires
You can set the cookie expire time as you want.
var date = new Date;
date.setDate(date.getDate() + 21);
this.$cookie.set('dateObject', 'A date object', { expires: date });
this.$cookie.set('dateString', 'A parsable date string', { expires: date.toGMTString() });
this.$cookie.set('integer', 'Seven days later', { expires: 7 });
this.$cookie.set('stringSuffixY', 'One year later', { expires: '1Y' });
this.$cookie.set('stringSuffixM', 'One month later', { expires: '1M' });
this.$cookie.set('stringSuffixD', 'One day later', { expires: '1D' });
this.$cookie.set('stringSuffixh', 'One hour later', { expires: '1h' });
this.$cookie.set('stringSuffixm', 'Ten minutes later', { expires: '10m' });
this.$cookie.set('stringSuffixs', 'Thirty seconds later', { expires: '30s' });
Raw Data
We'll using encodeURIComponent/decodeURIComponent on set/get.
If you want to set/get raw data, you can use setRaw/getRaw method.
this.$cookie.setRaw('dateObject', 'A date object', { expires: date });
this.$cookie.getRaw('dataObject');
Thanks for using the plugin, I am happy to accept feedback/pull requests, do not forget to star if you like it!
Happy Coding! :D
Tests
This packacge uses the ´´´testemframework and
jasmine``` assertion library
yarn install
yarn run test:dev
Acknowledgement
This plugin is based on alfhen/vue-cookie.
Thank you for making the perfect plugin.