在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 相关文章推荐
关闭时刷新父窗口两种方法
May 07 Javascript
处理文本部分内容的TextRange对象应用实例
Jul 29 Javascript
js中unicode转码方法详解
Oct 09 Javascript
bootstrap3 兼容IE8浏览器!
May 02 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
Oct 03 Javascript
自己封装的一个简单的倒计时功能实例
Nov 23 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
深入理解JavaScript和TypeScript中的class
Apr 22 Javascript
解决vue v-for 遍历循环时key值报错的问题
Sep 06 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 Javascript
vue监听dom大小改变案例
Jul 29 Javascript
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导航下拉菜单的实现如此简单
2013/09/22 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python uuid模块使用实例
2015/04/08 Python
python比较2个xml内容的方法
2015/05/11 Python
python实现红包裂变算法
2016/02/16 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
群教个人对照检查材料
2014/08/20 职场文书
公司财务管理制度
2015/08/04 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
python 判断文件或文件夹是否存在
2022/03/18 Python
使用python绘制分组对比柱状图
2022/04/21 Python