在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的掌握程度的代码
Dec 09 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
Feb 27 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
Oct 22 Javascript
jQuery实现自动滚动到页面顶端的方法
May 22 Javascript
新手快速学习JavaScript免费教程资源汇总
Jun 25 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
jQuery限制图片大小的方法
May 25 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 Javascript
vue 使用Jade模板写html,stylus写css的方法
Feb 23 Javascript
JS实现的简单分页功能示例
Aug 23 Javascript
JavaScript获取某一天所在的星期
Sep 05 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
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
Node 自动化部署的方法
2017/10/17 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python中无限元素列表的实现方法
2014/08/18 Python
python格式化字符串实例总结
2014/09/28 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
台湾旅游网站:灿星旅游
2018/10/11 全球购物
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
自我推荐书
2013/12/04 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
社区活动策划方案
2014/08/21 职场文书
安全例会汇报材料
2014/08/23 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
Redis数据同步之redis shake的实现方法
2022/04/21 Redis