1.安裝vue
cnpm i vue-cookies --savenpm
2.使用數組
在main.js中引入瀏覽器
import Vue from 'vue'bash
import VueCookies from 'vue-cppkies'服務器
Vue.use(VueCookies )cookie
語法格式:dom
[ this | Vue | window ].$cookies.[ method ]網站
方法:ui
一.$cookies.config(expireTimes [,path])
默認expireTimes爲1d,path=/
指定時間
this.$cookies.config(new Date(2020,12,1))
this.$cookies.config("Sat, 13 Mar 2017 12:25:57 GMT")
//若是是乘法
this.$cookies.config(60*60) //是60s*60s依次類推
//若是是單單空數組
this.$cookies.config(60) //也是60S
複製代碼
二.$cookies.set(key,value[,expireTimes[,path[,domain[,secure]]]])
參數說明:
key:cookie名字($cookie key name Cannot be to ['expire','max-age','path','domain','secure'])
value:cookie值,(vue-cookie會自動把對象轉換成JSON)
expireTimes:cookie有效時間,默認爲1d.(能夠爲到期時間點,也能夠爲有效時間段,在vue-cookies中傳入Infinity||-1被認該cookie永久有效,傳入'0'則關閉瀏覽器的時候銷燬cookie)
path: cookie所在目錄,默認 '/' 根目錄(設置path: '/projectName'指定項目名下'/projectName'使用)
domain: cookie所在的域,默認爲請求地址
secure: Secure屬性是說若是一個cookie被設置了Secure=true,那麼這個cookie只能用https協議發送給服務器,用http協議不發送
複製代碼
三.$cookies.get('key'); //return value 獲取指定cookie的值
複製代碼
四.$cookies.remove('key',[,path[,domain]]); // return false or true; 刪除cookie
複製代碼
五.$cookie.isKey('key'); // return true or false 是否有cookie
複製代碼
六.$cookies.keys(); // return ['key','key'...],列出全部cookie
複製代碼
注意點: $cookies的關鍵名稱不能設置成['expires','max-age','path','domain','secure']
遇到的問題:
登陸成功後服務端將用戶登陸信息加密後,寫入瀏覽的cookie中。
可是在退出登陸的時候,想着直接刪除就行了使用this.$cookies.remove('key'),並無把指定的cookie值給刪除掉。
因爲cookie是服務端進行寫入的只能進行設置,網站使用的是二級域名,因此this.$cookies.set('key','',-1,'.domain.com')。
複製代碼