第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue項目中引入外部js,怎么在外部js中執(zhí)行當(dāng)前頁中methods里的方法

vue項目中引入外部js,怎么在外部js中執(zhí)行當(dāng)前頁中methods里的方法

慕運(yùn)維8079593 2019-03-08 16:15:39
vue項目中引入外部js,怎么在外部js中執(zhí)行當(dāng)前頁中methods里的方法
查看完整描述

2 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗 獲得超3個贊

樓上算一種方案。


如果你引入的 JS 不好獲得當(dāng)前實例的引用,比如你用單文件組件,那么可以在組件 mount 的時候把方法暴露到全局環(huán)境下


// Vue

export default {

  mounted() {

    window.someMethod = this.doSomething.bind(this);

  },

}


// 在另一個 JS 里

someMethod();

不過這樣會導(dǎo)致不同的類深度耦合,屬于 bad smell。所以除非要做 jsonp 回調(diào)之類,最好不要使用??梢钥紤]用全局對象廣播和捕獲事件。


比如:


// Vue

export default {

  mounted() {

    document.body.addEventListener('some-event', this.onSomeEvent.bind(this));

  }

}


// 別的 js

const event = new CustomEvent('some-event');

document.body.dispatchEvent(event);


查看完整回答
反對 回復(fù) 2019-03-22
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊

var vm = new Vue({

  methods: {

    hello () {

      console.log('hello')

    }

  }

})


vm.hello()


查看完整回答
反對 回復(fù) 2019-03-22
  • 2 回答
  • 0 關(guān)注
  • 585 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號