在普通js檔案裡引入vue例項的方法

2022-02-19 07:03:09 字數 1081 閱讀 2632

首先是我是寫了乙個 loading 外掛程式然後 是掛在打vue.prototype 原型上的。

在main.js中use使用了這個外掛程式。

至此vue原型是就被我掛上 $loadding方法了。

然後我想在封裝的axios的http.js檔案裡使用這個外掛程式。所以我得想辦法把vue例項引進來。

經過測試可以如下這樣。(好吧上面,都是廢話)

圖中**:

import vue from 'vue'; //

引入vue

//必須例項化 vue

let vm = new

vue();

/*這裡有個點需要注意,直接在這個js檔案裡,直接使用 console.log(vm),可以看到我在掛到vue.prototype上的$loading自定義方法,

* 但是在console.log(vm.$loading); 時會顯示 undefined , 輸出vue上的自身方法時,不會顯示undefined。

* 我在網上找到的解釋如下:

* 注意不要在普通js中匯入後,直接console.log(),這個時候元件還沒建立肯定是undefined。 (應該是這個http.js在main.js之前載入了)

* 不過我經過經過測試,通過settimeout()延時輸出時,就不會有 就不會是undefined了。

* 這所說明這個方法不是這個js檔案一載入就執行的話,這個這樣通過 import 和 new的方式還是可以用的。

* 正好也可以滿足了我的需求。嘻嘻!!

* */

settimeout(()=>,4000);

如果不是屬性或方法不是掛到  vue.prototype 原型上時,如上獲取,就會出現檔案。解決方法可參考:

在vue專案中的js檔案裡使用vue例項

參考的 不為其他,就為了記錄一下,方便以後檢視 1 首先在http.js中 定義乙個變數context用來接收vue,再定乙個initvue方法傳入的引數是vue,並匯出這個方法。import axios from axios const time out ms 60 1000 預設請求超時時間 l...

vue 在vue 專案中引入外部js檔案

在普通的專案中,我們可以通過來引入外部的js檔案,但是在vue專案中,就不可以使用這種方式了,需要使用es6語法來引入,同時還要對已有的js檔案做相應的修改。一般情況下,我們引入外部js檔案,是要呼叫js檔案中的函式。在vue專案中,我們首先要使用export命令將這個函式丟擲,然後才能在其他的vu...

vue之引入js檔案列印

1 在src目錄下面建立plugs print.js檔案儲存外掛程式內容,其他位置也可 print.js 檔案 列印類屬性 方法定義 eslint disable const print function dom,options options if typeof dom string else t...