鍍金池/ 問答/HTML/ 如果在指定組件中引入外部js?

如果在指定組件中引入外部js?

項目中用到了一個第三方的客服服務(wù),他們提供的是一個外部js鏈接,需要在<body></body>中引入
我們只需要在某些頁面中進(jìn)行該服務(wù)的使用,如果直接在index.html中引入了,那么每個頁面就有了客服的圖標(biāo)了
目前我通過以下方式在需要客服功能的單個.vue文件中引入js

// 先定義這么個組件
export default {
 components: {
  'remote-js': {
  render(createElement) {
   return createElement('script', { attrs: { type: 'text/javascript', src: this.src }});
  },
  props: {
   src: { type: String, required: true },
  },
 },
 },
}
// 在需要的地方這樣調(diào)用
<remote-js src="https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js">
</remote-js>

問題就在于: 在指定頁面加載外部js成功后,到其他頁面(沒有引入remote-js)去,那個客服圖標(biāo)還是在的。

請問有人遇到過同樣的問題嗎?或者可以指點一下大概哪里的問題呢?

回答
編輯回答
奧特蛋

現(xiàn)在你只需要在你引入外部js的組件的destroyed生命周期鉤子函數(shù)里面把這個外部js刪了就好了,這樣只要離開這個組件了這個js就沒了

2017年9月10日 03:52