在vue中封裝方法以及多處引用該方法詳解
步驟:
1.先建立一個(gè)文件,放你想封裝的方法;然后導(dǎo)出;
部分代碼:
注: 導(dǎo)出這個(gè)地方需要特別注意:如果是一個(gè)對象的話:export 對象;如果是一個(gè)函數(shù)的話:export { 函數(shù) }
2.引入文件:
補(bǔ)充知識(shí):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項(xiàng)目實(shí)現(xiàn)對某個(gè)區(qū)域繪制水印
這篇文章主要為大家詳細(xì)介紹了vue項(xiàng)目實(shí)現(xiàn)對某個(gè)區(qū)域繪制水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09如何通過Vue自定義指令實(shí)現(xiàn)前端埋點(diǎn)詳析
埋點(diǎn)分析是網(wǎng)站分析的一種常用的數(shù)據(jù)采集方法,下面這篇文章主要給大家介紹了關(guān)于如何通過Vue自定義指令實(shí)現(xiàn)前端埋點(diǎn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Vue 解決路由過渡動(dòng)畫抖動(dòng)問題(實(shí)例詳解)
這篇文章主要介紹了Vue 解決路由過渡動(dòng)畫抖動(dòng)問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01element-ui Upload上傳組件動(dòng)態(tài)配置action方式
這篇文章主要介紹了element-ui Upload上傳組件動(dòng)態(tài)配置action方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07通過實(shí)例解析vuejs如何實(shí)現(xiàn)調(diào)試代碼
這篇文章主要介紹了通過實(shí)例解析vuejs如何實(shí)現(xiàn)調(diào)試代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07vite如何build時(shí)清除console.log()問題
這篇文章主要介紹了vite如何build時(shí)清除console.log()問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07VUE+Canvas實(shí)現(xiàn)財(cái)神爺接元寶小游戲
這篇文章主要介紹了VUE+Canvas實(shí)現(xiàn)財(cái)神爺接元寶小游戲,需要的朋友可以參考下本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-04-04Vue引入vuetify框架你需要知道的幾點(diǎn)知識(shí)
這篇文章主要介紹了Vue引入vuetify框架你需要知道的幾點(diǎn)知識(shí),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06el-form-item?prop屬性動(dòng)態(tài)綁定不生效問題及解決
這篇文章主要介紹了el-form-item?prop屬性動(dòng)態(tài)綁定不生效問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07