Vue中动态加载css、js、字体

1.首先封装三个公用方法

    //动态加载css
    loadStyle(url) {
      var link = document.createElement('link');
      link.type = 'text/css';
      link.rel = 'stylesheet';
      link.href = url; //css链接
      var head = document.getElementsByTagName('head')[0];
      head.appendChild(link);
    },
    //动态加载字体
    loadFont(name, url) {
    //name 字体名称
    //url  字体链接
      let style = document.createElement('style');
      style.type = 'text/css';
      style.innerText = '@font-face {font-family:' + name + ';src:url(' + url + ')};font-display: swap';
      document.getElementsByTagName('head')[0].appendChild(style);
    },
    //动态加载js
    loadJs(url) {
      var link = document.createElement('script');
      link.type = 'text/javascript';
      link.src = url; //js链接
      var head = document.getElementsByTagName('head')[0];
      head.appendChild(link);
    },

2.在Vue生命周期mounted中调用公共方法

  mounted() {
    let cssUrl = ''
    let jsUrl= ''
    let fonUrl= ''
    this.loadStyle(cssUrl);
    this.loadJs(jsUrl);
    this.loadFont(fonUrl)
  },

这样就ok了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值