在vue中封装方法以及多处引用该方法详解


Posted in Javascript onAugust 14, 2020

步骤:

1.先建立一个文件,放你想封装的方法;然后导出;

部分代码:

在vue中封装方法以及多处引用该方法详解

在vue中封装方法以及多处引用该方法详解

注: 导出这个地方需要特别注意:如果是一个对象的话:export 对象;如果是一个函数的话:export { 函数 }

2.引入文件:

在vue中封装方法以及多处引用该方法详解

补充知识:vue uni-app 公共组件封装,防止每个页面重复导入

1、公共插件

实现目标,将公共组件或者网络请求直接在this中调用,不需要再页面引用

#例如网络请求
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 或者可以将网络请求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: "错误提示",
 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 = '参数不能为空') {
 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("为空的参数:",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 实例中

main.js 文件中将工具注册进入

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中封装方法以及多处引用该方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript this用法小结
Dec 19 Javascript
javascript中的delete使用详解
Apr 11 Javascript
iframe窗口高度自适应的实现方法
Jan 08 Javascript
js实现刷新iframe的方法汇总
Apr 27 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
js无提示关闭浏览器窗口的两种方法分析
Nov 06 Javascript
使用async await 封装 axios的方法
Jul 09 Javascript
Angular8 实现table表格表头固定效果
Jan 03 Javascript
原生js实现轮播图特效
May 04 Javascript
三步搞定:Vue.js调用Android原生操作
Sep 07 Javascript
JS使用setInterval计时器实现挑战10秒
Nov 08 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
JS+css3实现幻灯片轮播图
Aug 14 #Javascript
浅谈vue获得后台数据无法显示到table上面的坑
Aug 13 #Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 #Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
Aug 13 #Javascript
vue用elementui写form表单时,在label里添加空格操作
Aug 13 #Javascript
jQuery中event.target和this的区别详解
Aug 13 #jQuery
在Vue 中获取下拉框的文本及选项值操作
Aug 13 #Javascript
You might like
php模拟登陆的实现方法分析
2015/01/09 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
python编写简单爬虫资料汇总
2016/03/22 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
用Python读取几十万行文本数据
2018/12/24 Python
python实现五子棋小游戏
2020/03/25 Python
Python OS模块实例详解
2019/04/15 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
python的sys.path模块路径添加方式
2020/03/09 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
出纳员岗位职责
2014/03/13 职场文书
三项教育活动实施方案
2014/03/30 职场文书
个人委托书怎么写
2014/04/04 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
小学班主任事迹材料
2014/12/17 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
户外亲子活动总结
2015/05/08 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python