由於我網站不是的單色,換動的樣式有點多,所以我只能通過后端傳給我的不同的皮膚類型,來控制不同的樣式文件
在網上查了一堆,每一個有用的
if(store.getters.infoType==1){
require("./static/styles/skin.css");
}else if(store.getters.infoType==2){
require("./static/styles/skin2.css");
}else if(store.getters.infoType==3){
require("./static/styles/skin3.css");
}
這種方法不成立,本地有效打包之后vue默認會用最后一個的樣式,做不到切換
想到以前用jquery操作不同的樣式文件,試了下還真的實現了
1,首先在腳手架的index,html文件里面加入一個假的link
<link rel="shortcut icon" href="./static/favicon.ico"/>
2
changeSkin(){ var Link=document.querySelector(".skinLink"); /*通過js獲取到這個DOM元素然后給他加不同的樣式即可*/ if(this.infoType==1){ Link.setAttribute("href","./static/styles/skin.css"); }else if(this.infoType==2){ Link.setAttribute("href","./static/styles/skin2.css"); }else if(this.infoType==3){ Link.setAttribute("href","./static/styles/skin3.css"); } }
3由於我是通過vuex做的數據存儲,刷新頁面數據消失
所以在main.js里面我要再次去做以上請求,不要忘記了否則刷新就什么度沒了