vue 增加loading指令

2022-08-30 17:51:08 字數 955 閱讀 9531

在開發專案的時候發現為了提高互動上的體驗,需要加乙個loading效果,為了請求介面資料響應過慢。在沒有引用其他ui框架的情況下自己寫乙個指令。

首先建立資料夾如下:

images資料夾裡面就乙個隨便適合的gif,這個可以找ui幫忙解決,或者自己去找找素材。

loading.vue裡面的內容

很簡單,就乙個ui樣式,加乙個顯示隱藏

下面是index.js

import vue from 'vue'import loading from './loading.vue'const mask =vue.extend(loading)

const toggleloading = (el, binding) =>)

} else

}const insertdom = (parent, el) =>

export

default

})el.instance =mask

el.mask =mask.$el

el.maskstyle ={}

binding.value &&toggleloading(el, binding)

},update:

function

(el, binding)

},unbind:

function

(el, binding)

}

接下去在想用的地方加乙個 v-loading="isloading" 指令就行, isloading 是各自頁面控制顯示隱藏的引數

哦,別忘了在main.js註冊乙個指令全域性

//

註冊自定義指令

object.keys(directives).foreach(key =>)

其實這個指令的方法是參考餓了麼裡面的loading方法寫出來的,還希望有優化的地方請指教。

全域性loading指令

import store from store index.js 自定義指令,防止重複提交 v preventreclick 直接呼叫即可 export default let name el.innerhtml el.setattribute disabled disabled let v vno...

vue資料請求loading

width 100 height 100 這裡的fetchloading是存在vuex裡面的乙個變數。在store modules common.js裡需要如下定義 此js檔案用於儲存公用的vuex狀態 import api from fetch api import as types from t...

vue全域性loading動畫

首先我們需要寫乙個動畫樣式,這裡我們就用element ui裡的loading載入吧 this.store.state.show class big class loading v loading loading element loading text 拼命載入中 element loading ...