今天把Setting的幾個參數值配置修改到保存至cookie。思路是先從cookie中獲取用戶的配置(如果從后台取數據,在用戶登錄時需要先寫入cookie,用戶沒有自定義配置直接初始化默認配置)。通過Swtich組件修改配置狀態,寫入后台(如果需要),同時修改cookie並修改vuex的state。
本來不復雜,但是修改后發現Sidebar的Logo部分在修改后不生效,經過排查,發現因為Switch組件修改后,boolean的true/false變成了額"true"/"false",在Logo部分v-if指令處理時,字符串會被識別為true。於是在vuex的state中獲取時,修改判斷一下,代碼如下:
const state = {
theme: Cookies.get("theme") || variables.theme,
showSettings: showSettings,
tagsView: Cookies.get("tagsView")
? Cookies.get("tagsView") === "true"
: tagsView,
fixedHeader: Cookies.get("fixedHeader")
? Cookies.get("fixedHeader") === "true"
: fixedHeader,
sidebarLogo: Cookies.get("sidebarLogo")
? Cookies.get("sidebarLogo") === "true"
: sidebarLogo
};
修改后測試正常。