在vue中封裝方法以及多處引用該方法詳解
步驟:
1.先建立一個(gè)文件,放你想封裝的方法;然后導(dǎo)出;
部分代碼:


注: 導(dǎo)出這個(gè)地方需要特別注意:如果是一個(gè)對象的話:export 對象;如果是一個(gè)函數(shù)的話:export { 函數(shù) }
2.引入文件:

補(bǔ)充知識:vue uni-app 公共組件封裝,防止每個(gè)頁面重復(fù)導(dǎo)入
1、公共插件
實(shí)現(xiàn)目標(biāo),將公共組件或者網(wǎng)絡(luò)請求直接在this中調(diào)用,不需要再頁面引用
#例如網(wǎng)絡(luò)請求
var _this = this;
this.api.userInfo({
token: ''
}
#通用工具
_this.utils.showBoxFunNot("是否退出登陸", function() {
console.log("確定")
_this.api.logOut({}, function(data) {
_this.utils.setCacheValue('token', '')
uni.redirectTo({
url: '/pages/LogIn/LogIn'
});
})
})
公共插件utils.js 或者可以將網(wǎng)絡(luò)請求api.js 封裝成對象
var utils = {
function_chk: function(f) {
try {
var fn = eval(f);
if (typeof(fn) === 'function') {
return true;
} else {
return false;
}
} catch (e) {
}
return false;
},
showBox: function(msg) {
uni.showModal({
title: "錯(cuò)誤提示",
content: "" + msg,
showCancel: false,
confirmText: "確定"
})
},
showBoxFun: function(msg, fun) {
uni.showModal({
title: "提示",
content: "" + msg,
showCancel: false,
confirmText: "確定",
success: (res) => {
fun(res)
}
})
},
showBoxFunNot: function(msg, fun, cancel) {
var _this = this
uni.showModal({
title: "提示",
content: "" + msg,
confirmText: "確定",
cancelText: "取消",
success: (res) => {
if (res.confirm) { //取消
if (_this.function_chk(fun)) {
fun(res)
}
} else if (res.cancel) { //確定
if (_this.function_chk(cancel)) {
cancel(res)
}
}
},
can: (err) => {
}
})
},
notNull: function(obj, msg = '參數(shù)不能為空') {
var keys = Object.keys(obj);
console.log(keys)
for (var i in keys) {
var keyName = keys[i]
console.log(keys[i])
var value = obj[keyName]
if (value == '') {
console.log("為空的參數(shù):",keyName)
this.showBox(msg)
return true;
}
console.log(value)
}
return false;
},
getCacheValue: function(key) {
var value = '';
try {
value = uni.getStorageSync(key);
} catch (e) {
}
return value;
},
setCacheValue: function(key, value) {
try {
value = uni.setStorageSync(key, value);
} catch (e) {
}
}
}
export default utils
2、注冊到vue 實(shí)例中
main.js 文件中將工具注冊進(jìn)入
import utils from 'common/utils.js'; import api from 'common/api.js'; Vue.config.productionTip = false Vue.prototype.utils = utils Vue.prototype.api = api
以上這篇在vue中封裝方法以及多處引用該方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue elementUI 自定義表單模板組件功能實(shí)現(xiàn)
在項(xiàng)目開發(fā)中,我們會遇到這種需求,在管理后臺添加自定義表單,在指定的頁面使用定義好的表單,這篇文章主要介紹了Vue elementUI 自定義表單模板組件,需要的朋友可以參考下2022-12-12
vue3+ts中ref與reactive指定類型實(shí)現(xiàn)示例
這篇文章主要為大家介紹了vue3+ts中ref及reactive如何指定類型的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
vue與iframe頁面數(shù)據(jù)互相通信的實(shí)現(xiàn)示例
這篇文章主要給大家介紹了vue與iframe頁面數(shù)據(jù)互相通信的實(shí)現(xiàn)示例,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12
Vue中對拿到的數(shù)據(jù)進(jìn)行A-Z排序的實(shí)例
今天小編就為大家分享一篇Vue中對拿到的數(shù)據(jù)進(jìn)行A-Z排序的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue之使用echarts圖表setOption多次很卡問題及解決
這篇文章主要介紹了vue之使用echarts圖表setOption多次很卡問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07

