国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

Vue如何引入遠(yuǎn)程JS文件

2024-05-06 15:18:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題

最近在使用 Vue 做東西,用到釘釘掃描登錄的功能,這里需要引入遠(yuǎn)程的 js 文件,因?yàn)?Vue 的方式跟之前的不太一樣,又不想把文件下載到本地應(yīng)用,找了一下解決的方法,貌似都需要引入第三方的庫(kù),最后找到了解決方案,分享之。

思路

一開(kāi)始的思路是在 Vue 加載完 Dom 之后(mounted),使用 JavaScript 腳本在 body 中插入遠(yuǎn)程的腳本文件。

后來(lái)發(fā)現(xiàn)了 Vue 的 createElement 方法,簡(jiǎn)單的封裝一個(gè)組件解決問(wèn)題。

解決方法

第一版代碼(直接在操作 Dom )如下:

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> 在頁(yè)面中調(diào)用

終極方案

通過(guò)封裝一個(gè)組件 remote-js 實(shí)現(xiàn):

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

使用方法:

<remote-js src="https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js"></remote-js>

因?yàn)閯傞_(kāi)始學(xué)習(xí) Vue 有什么問(wèn)題歡迎大家指出,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯(cuò)新站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 乐业县| 周口市| 青阳县| 榕江县| 米易县| 眉山市| 芜湖县| 巴林右旗| 天祝| 灵宝市| 玉田县| 泗水县| 五河县| 社旗县| 太保市| 九江县| 安阳市| 台江县| 潼关县| 集安市| 新邵县| 邵武市| 德州市| 龙南县| 盖州市| 西盟| 泸溪县| 信阳市| 三都| 乐山市| 阳高县| 淳化县| 永和县| 汶川县| 常州市| 乌拉特中旗| 辉南县| 定边县| 瑞金市| 贵定县| 姜堰市|