vue组件内部引入远程js文件

Posted 前端开发-阿锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue组件内部引入远程js文件相关的知识,希望对你有一定的参考价值。

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。

第一种操作 Dom引入js:

export default {
  mounted() {
    const s = document.createElement(script);
    s.type = text/javascript;
    s.src = https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js;
    document.body.appendChild(s);
  },
}

第二种使用 createElement 方法:

export default {
  components: {
    dingtalk: {
      render(createElement) {
        return createElement(
          script,
          {
            attrs: {
              type: text/javascript,
              src: https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js,
            },
          },
        );
      },
    },
  },
}

// 使用 <dingtalk></dingtalk> 在页面中调用

第三种封装一个组件:

export default {
  components: {
   remote-js: {
    render(createElement) {
      return createElement(script, { attrs: { type: text/javascript, src: this.src }});
    },
    props: {
      src: { type: String, required: true },
    },
  },
  },
}

使用:<remote-jssrc="你的需要的js文件地址"></remote-js>

以上是关于vue组件内部引入远程js文件的主要内容,如果未能解决你的问题,请参考以下文章

vue文件里面怎么引用外部的js文件

如何在js文件中获取vue组件对象的data方法中的属性

vue.js 2 - 将单个文件组件的 html 片段提取到独立文件中

Vue引入远程JS文件

如何在.vue文件中引入外部js

vue component组件内部自己引用自己