js/vue如何实现函数(方法)当做参数传递

 更新时间:2026年03月25日 08:42:56   作者:蓝胖子的多啦A梦  
这篇文章主要介绍了js/vue实现函数(方法)当做参数传递方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

很简单

不带方法括号当做参数传递就可以了

例子

       //测试方法
       demo(){
          alert('我是测试')
       },
       haha(event){
        this.clickEnter(event,this.demo) //this.demo是方法,但是这里当做参数传递
     }  

this.clickEnter()是公共方法,

//接收
        Vue.prototype.clickEnter = function(e,method){//e对应传递的第一个参数 ,method是你传递的方法
            let key = e.keyCode;
            if(key == 13){
                method()
            }
            
        }

最后执行成功,总结 传递方法名不带括号就可以了

需求

项目中所有按钮增加确认提示框

封装confirm 组件,但是有些点完 确定按钮后 还需再调用列表接口 实现刷新当前表格功能

需要将方法名 作为参数,传给提示框,提示框里点击了确认按钮后进行调用

首先在 utils-------> infoMsg.js 文件里

定义一个 提示框函数

将需要展示的数据 作为参数传进来

全部代码

apiName:'接口名称', 
params:'调取接口传的参数', 
refreshList:'点击确定按钮需要调取的列表方法刷新页面', 
isElse:'接口返回错误提示时是否需要调取列表方法刷新页面',
type:'notify通知框的类型', 
that
// 出库按钮  确认提示框
function popConfirm(apiName, params, refreshList, isElse, type, that) {
    console.log(that, 'reMethods')
    that.$confirm(
        window.vm.$i18n.t("tips.excutOp"),
        window.vm.$i18n.t("tips.tip"),
        {
            confirmButtonText: window.vm.$i18n.t("backTips.confirm"),
            cancelButtonText: window.vm.$i18n.t("backTips.cancel"),
            type: "warning",
        }
    ).then(() => {
        apiName(params).then((res) => {
            // 有返回状态值
            if (res.code == 0 && res.msg) {
                that.$notify({
                    title: res.msg,
                    type: 'success'
                });
                if (refreshList) {
                    refreshList()
                }
            } else if (res.code == 0 && res.msg == '') {
                that.$notify({
                    title: window.vm.$i18n.t("tips.issue"),
                    type: 'success'
                });
                if (refreshList) {
                    refreshList()
                } else {
                    if (isElse == true) {
                        refreshList()
                    }
                    that.$notify({
                        title: res.msg,
                        type: type
                    });
                }
            }

        }).catch((error) => {
            that.$notify({
                title: error.response.data.message,
                type: type
            });
            refreshList()
        });
    })
}

export default { popConfirm, }

页面使用

<el-button icon="el-icon-tickets" size="mini" type="primary"  @click="handleBatchOut">
            批量出库
</el-button>
methods:{
  // 批量出库
    handleBatchOut() {
      let delData = [];
      delData = this.crud.selections.map((item) => {
        return item.id;
      });
      let data = {
        pids: delData,
        singleOut: false,
      };
      this.$infoMsg.popConfirm(outStoragePos, data, this.bothRefresh, false, 'error', this)
    },
}
  // 批量出库
    handleBatchOut() {
      let delData = [];
      delData = this.crud.selections.map((item) => {
        return item.id;
      });
      let data = {
        pids: delData,
        singleOut: false,
      };
      this.$infoMsg.popConfirm(outStoragePos, data, this.bothRefresh, false, 'error', this)
    },
    //弹框刷新使用
    bothRefresh() {
      this.crud.toQuery();
      this.fathermethod();
    },

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue项目部署到nginx/tomcat服务器的实现

    vue项目部署到nginx/tomcat服务器的实现

    这篇文章主要介绍了vue项目部署到nginx/tomcat服务器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Vue.js实现音乐播放器

    Vue.js实现音乐播放器

    这篇文章主要为大家详细介绍了Vue.js实现音乐播放器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue中使用swiper轮播图的正确姿势(亲测有效)

    vue中使用swiper轮播图的正确姿势(亲测有效)

    最近在用Vue制作移动端项目,碰到了轮播图的制作,接下来就让小编一步一步带大家动作制作吧,下面这篇文章主要给大家介绍了关于vue中使用swiper轮播图的正确姿势,需要的朋友可以参考下
    2022-06-06
  • vue实现在线预览pdf文件和下载(pdf.js)

    vue实现在线预览pdf文件和下载(pdf.js)

    这篇文章主要为大家详细介绍了vue实现在线预览pdf文件和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • vue3中ts语法使用element plus分页组件警告错误问题

    vue3中ts语法使用element plus分页组件警告错误问题

    这篇文章主要介绍了vue3中ts语法使用element plus分页组件警告错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • element上传组件循环引用及简单时间倒计时的实现

    element上传组件循环引用及简单时间倒计时的实现

    这篇文章主要介绍了element上传组件循环引用及简单时间倒计时的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Vue3项目兼容低版本浏览器的全面指南

    Vue3项目兼容低版本浏览器的全面指南

    随着 JavaScript 语言的快速演进,许多现代特性在低版本浏览器中无法运行,本文将详细介绍如何使Vue3和TypeScript让项目完美兼容 IE11等低版本浏览器,有需要的小伙伴可以参考一下
    2025-04-04
  • 详解swiper在vue中的应用(以3.0为例)

    详解swiper在vue中的应用(以3.0为例)

    这篇文章主要介绍了详解swiper在vue中的应用(以3.0为例),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 解决vue路由组件vue-router实例被复用问题

    解决vue路由组件vue-router实例被复用问题

    这篇文章介绍了解决vue路由组件vue-router实例被复用的问题,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Vue iframe更改src后页面未刷新问题解决方法

    Vue iframe更改src后页面未刷新问题解决方法

    这篇文章主要介绍了Vue iframe更改src后页面未刷新问题解决,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04

最新评论