在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 相关文章推荐
js自执行函数的几种不同写法的比较
Aug 16 Javascript
javascript不可用的问题探究
Oct 01 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
浅析node连接数据库(express+mysql)
Nov 30 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
May 24 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
简单实现js上传文件功能
Aug 21 Javascript
微信小程序实现漂亮的弹窗效果
May 26 Javascript
javascript将非数值转换为数值
Sep 13 Javascript
vue权限管理系统的实现代码
Jan 17 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
May 17 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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
深入php list()函数的详解
2013/06/05 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
5 cool javascript apps
2007/03/24 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python批量更改文件名的实现方法
2017/10/29 Python
python实现BackPropagation算法
2017/12/14 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
黄河的主人教学反思
2014/02/07 职场文书
售后服务承诺书
2014/03/26 职场文书
建议书的格式
2014/05/12 职场文书
学习退步检讨书
2014/09/28 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
2015年司法局工作总结
2015/05/22 职场文书
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技