在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中的运用上部
Nov 20 Javascript
javascript判断机器是否联网的2种方法
Aug 09 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
Jul 02 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
vue发送ajax请求详解
Oct 09 Javascript
记一次用vue做的活动页的方法步骤
Apr 11 Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 Javascript
Webpack设置环境变量的一些误区详解
Dec 19 Javascript
详解vue中v-on事件监听指令的基本用法
Jul 22 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和ACCESS写聊天室(五)
2006/10/09 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
Js面试算法详解
2018/04/08 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
部署Python的框架下的web app的详细教程
2015/04/30 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
分享Python文本生成二维码实例
2016/01/06 Python
机器学习10大经典算法详解
2017/12/07 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Django框架 信号调度原理解析
2019/09/04 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
什么是组件架构
2016/05/15 面试题
在求职信中如何凸显个人优势
2013/10/30 职场文书
年度考核自我鉴定
2013/11/09 职场文书
销售文员岗位职责
2013/11/29 职场文书
精彩自我鉴定
2014/01/16 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
2015大学生求职信范文
2015/03/20 职场文书
校园安全主题班会
2015/08/12 职场文书
2016春节放假通知范文
2015/08/18 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL