在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 相关文章推荐
jquery 模式对话框终极版实现代码
Sep 28 Javascript
Javascript 自适应高度的Tab选项卡
Apr 05 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
Jul 15 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
js中 计算两个日期间的工作日的简单实例
Aug 08 Javascript
JS动态加载脚本并执行回调操作
Aug 24 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
Feb 24 Javascript
JavaScript引用类型Function实例详解
Aug 09 Javascript
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
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
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
python抓取网页内容示例分享
2014/02/24 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python机器学习实现决策树
2019/11/11 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
通过实例解析python描述符原理作用
2020/01/22 Python
Python流程控制语句的深入讲解
2020/06/15 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
Python中生成ndarray实例讲解
2021/02/22 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
幼教个人求职信范文
2013/12/02 职场文书
售后服务承诺书模板
2014/05/21 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
2014年基建工作总结
2014/12/12 职场文书
工作保证书
2015/01/17 职场文书
2015年体育部工作总结
2015/04/02 职场文书
运动会800米赞词
2015/07/22 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
MySQL 如何限制一张表的记录数
2021/09/14 MySQL