//global.js
// 定义vu
e 全局方
 
// 定义vue 全局方法 建议自定义的全局方法加_ 以示区分
export default {
  install(Vue, options = {}) {
    // 全局方法1
    Vue.prototype._fn1 = function () {
      // console.log('f1')
    }
    // 全局方法2
    Vue.prototype._fn2 = function () {
      // console.log('fn2');
    }
    // 全局方法3 再次封装element.ui的$confirm的方法
    Vue.prototype._confirm = function (cue, tip, handleConfirm) {
      // 当第二个参数是回调函数
      if (typeof tip !== 'string') {
        handleConfirm = tip
        tip = '提示'
      }
      (cue, tip, {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(handleConfirm)
        .catch(() => {
          this.$message.info("已取消");
        });
    }
  }
}
 
 
//将then改写为async await模式
 // 全局方法3 封装element.ui的$confirm方法
    Vue.prototype._confirm = async function (cue, tip, handleConfirm) {
      // 当第二个参数是回调函数
      if (typeof tip !== "string") {
        handleConfirm = tip;
        tip = "提示";
      }
      let res = '' //try-catch有作用域范围如果 res定义在里面,等下if判断就拿不到res
      try {
        res = await this.$confirm(cue, tip, {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        })
      } catch (error) {
        this.$message.info('已取消')
      }
      if (res === 'confirm') handleConfirm()

2.main.js文件注入

// 定义全局方法
import global from './utils/global'
Vue.use(global)

3.use

在vue实例对象methods使用。

//例子1
deleteSelected() {
      this._confirm(
        "批量删除数据不可恢复,是否继续?",
        this.deleteSelectedComfirm
      );
    },
    deleteSelectedComfirm() {
      console.log(this.multipleSelection);
    }
 
//例子2 接受原始处理函数的参数
handleDelete(index, row) { 
    this._confirm("删除此条数据不可恢复,是否继续?", () => {
        this.handleDeleteConfirm(index, row);
      });
},
handleDeleteConfirm(index, row) {
    console.log("row: ", row);
    console.log("index: ", index);
 }

2 在vue 页面标签中使用。

11 vue 自定义全局方法的更多相关文章

  1. vue 自定义全局方法

    import {myfun} from '../static/js/test.js' //se6的正确写法export default {methods:{ diyfun:function () { ...

  2. vue的全局方法和局部方法

    var infiniteScroll = require('vue-infinite-scroll') 等价写法 import infiniteScroll from 'vue-infinite-sc ...

  3. vue定义全局方法 调用其他组件的方法

    官网的写法  vue实例.$on就可以在根实例上定义全局方法 this.$root就是获取根实例  如果没有根实例 就表示当前实例 this.$root.$on 不需要.eventHub 不需要下面这 ...

  4. vue自定义全局和局部指令

    一.介绍 1.除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令. 2.自定义指令的分类       1.全局指令 2.局部指令 3.自定义全局指令格式 V ...

  5. vue自定义全局组件(自定义插件)

    有时候我们在做开发的时候,就想自己写一个插件然后就可以使用自己的插件,那种成就感很强.博主最近研究element-ui和axios的时候,发现他们是自定义组件,但是唯一有一点不同的是,在用elemen ...

  6. Vue 自定义全局消息框组件

    消息弹框组件,默认3秒后自动关闭,可设置info/success/warning/error类型 效果图: 文件目录: Message.vue <template> <transit ...

  7. vue---vue2.x自定义plugin,给vue添加全局方法,原型上增加全局方法

    1. 自定义plugin.js export default{ install(Vue,options); { Vue.prototype.toStringTwo=(str)=>( ('0000 ...

  8. Vue自定义插件方法大全

    新年第一天首先祝大家新年快乐,心想事成! 1.利用根实例构造函数的原型 //在构造函数的原型链上添加自定义属性 Vue.prototype.test = 'pomelo' //在其他组件中调用 con ...

  9. vue 自定义全局按键修饰符

    在监听键盘事件时,我们经常需要检查常见的键值.Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: JS部分: Vue.config.keyCodes = { f2:113, } var app ...

随机推荐

  1. 用了Dapper之后通篇还是SqlConnection,真的看不下去了

    一:背景 1. 讲故事 前几天看公司一个新项目的底层使用了dapper,大家都知道dapper是一个非常强大的半自动化orm,帮程序员解决了繁琐的mapping问题,用起来非常爽,但我还是遇到了一件非 ...

  2. CNN 小结

    CNN 小结 目录 CNN特征提取过程(卷积核描述的是特征信息, 此特征可能就是原图像中的某些像素, 但是卷积核并不找相似的地方在原始图像的哪里, 所以需要将卷积核不断地滑动, 得到的feature ...

  3. 【模式识别与机器学习】——logistic regression

    虽然叫做“回归”,但是这个算法是用来解决分类问题的.回归与分类的区别在于:回归所预测的目标量的取值是连续的(例如房屋的价格):而分类所预测的目标变量的取值是离散的(例如判断邮件是否为垃圾邮件).当然, ...

  4. java Eclipse刷新报错 Feature 'taglib' not found.

    刷新工程报错:org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'taglib' not found. 错误原因:tomcat7, ...

  5. Flutter 容器(6) - FractionallySizedBox

    FractionallySizedBox 用法与SizedBox类似,只不过FractionallySizedBox的宽高是百分比大小,widthFactor,heightFactor参数就是相对于父 ...

  6. Mybatis-02-CRUD及配置解析

    CRUD 1.namespace namespace中的包名要和Dao/Mapper接口的包名一致! 2.select 选择,查询语句; id:对应的namespace中的方法名 resultType ...

  7. Tun/Tap接口使用指导

    Tun/Tap接口指导 目录 Tun/Tap接口指导 概述 工作机制 创建接口 举例 简单的程序 隧道 拓展 参考 概述 对tun接口的了解需求主要来自于openshift的网络,在openshift ...

  8. 初期web渗透的学习路线

    成长路线 信息安全 前端安全 web安全 基础,书籍推荐 <网站入侵与脚本攻防修炼> 什么是web漏洞 什么是sql注入漏洞 什么是数据库 什么是文件上传漏洞 什么是跨站脚本攻击 < ...

  9. mycat数据库集群系列之mysql主从同步设置

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...

  10. python基础 Day8

    python Day8 文件操作的识 利用python代码写一个脚本操作文件的过程 文件的路径:path 打开方式:读,写,追加,读写,写读 编码方式:utf-8,gbk,gb2312 简单文件读取( ...