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

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

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

 

 

相关文章:

  • 2023-03-16
  • 2021-08-21
  • 2022-12-23
  • 2021-06-02
  • 2022-12-23
  • 2022-12-23
  • 2021-06-20
猜你喜欢
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2021-12-03
  • 2021-11-06
  • 2022-01-13
相关资源
相似解决方案