在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 相关文章推荐
慎用 somefunction.prototype 分析
Jun 02 Javascript
Javascript的闭包
Dec 31 Javascript
js特效,页面下雪的小例子
Jun 17 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
May 27 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
jquery+CSS3实现3D拖拽相册效果
Jul 18 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
JS 实现分页打印功能
May 16 Javascript
vue+elementUI实现表格关键字筛选高亮
Oct 26 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
Apr 15 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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
cument.execCommand()用法深入理解
2012/12/04 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
python2 与python3的print区别小结
2018/01/16 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
后勤自我鉴定
2013/10/13 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
50岁生日感言
2014/01/23 职场文书
小学亲子活动总结
2014/07/01 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
先进学校事迹材料
2014/12/30 职场文书
会议营销主持词
2015/07/03 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
《三国志》赏析
2019/08/27 职场文书