由于我网站不是的单色,换动的样式有点多,所以我只能通过后端传给我的不同的皮肤类型,来控制不同的样式文件

在网上查了一堆,每一个有用的

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里面我要再次去做以上请求,不要忘记了否则刷新就什么度没了

 

 

posted on 2018-08-24 16:11  执候  阅读(1489)  评论(0编辑  收藏  举报