js/vue如何實(shí)現(xiàn)函數(shù)(方法)當(dāng)做參數(shù)傳遞
很簡(jiǎn)單
不帶方法括號(hào)當(dāng)做參數(shù)傳遞就可以了
例子
//測(cè)試方法
demo(){
alert('我是測(cè)試')
},
haha(event){
this.clickEnter(event,this.demo) //this.demo是方法,但是這里當(dāng)做參數(shù)傳遞
}
this.clickEnter()是公共方法,
//接收
Vue.prototype.clickEnter = function(e,method){//e對(duì)應(yīng)傳遞的第一個(gè)參數(shù) ,method是你傳遞的方法
let key = e.keyCode;
if(key == 13){
method()
}
}
最后執(zhí)行成功,總結(jié) 傳遞方法名不帶括號(hào)就可以了
需求
項(xiàng)目中所有按鈕增加確認(rèn)提示框
封裝confirm 組件,但是有些點(diǎn)完 確定按鈕后 還需再調(diào)用列表接口 實(shí)現(xiàn)刷新當(dāng)前表格功能
需要將方法名 作為參數(shù),傳給提示框,提示框里點(diǎn)擊了確認(rèn)按鈕后進(jìn)行調(diào)用

首先在 utils-------> infoMsg.js 文件里
定義一個(gè) 提示框函數(shù)
將需要展示的數(shù)據(jù) 作為參數(shù)傳進(jìn)來

全部代碼
apiName:'接口名稱', params:'調(diào)取接口傳的參數(shù)', refreshList:'點(diǎn)擊確定按鈕需要調(diào)取的列表方法刷新頁(yè)面', isElse:'接口返回錯(cuò)誤提示時(shí)是否需要調(diào)取列表方法刷新頁(yè)面', type:'notify通知框的類型', that
// 出庫(kù)按鈕 確認(rèn)提示框
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) => {
// 有返回狀態(tài)值
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, }
頁(yè)面使用
<el-button icon="el-icon-tickets" size="mini" type="primary" @click="handleBatchOut">
批量出庫(kù)
</el-button>
methods:{
// 批量出庫(kù)
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)
},
}
// 批量出庫(kù)
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();
},
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue2使用cube-ui?實(shí)現(xiàn)搜索過濾、高亮功能
cube-ui?是基于?Vue.js?實(shí)現(xiàn)的精致移動(dòng)端組件庫(kù),由于很長(zhǎng)一段時(shí)間沒有學(xué)習(xí)cube-ui?的功能實(shí)現(xiàn)示例代碼了,今天通過本文給大家介紹下Vue2使用cube-ui?實(shí)現(xiàn)搜索過濾、高亮功能,感興趣的朋友跟隨小編一起看看吧2023-01-01
<el-button>點(diǎn)擊后如何跳轉(zhuǎn)指定url鏈接
這篇文章主要介紹了<el-button>點(diǎn)擊后如何跳轉(zhuǎn)指定url鏈接問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
基于vue+canvas的excel-like組件實(shí)例詳解
a vue component,基于vue的表格組件,主要解決大數(shù)據(jù)量的表格渲染性能問題,使用canvas繪制表格,同時(shí)支持類似excel的批量選中,復(fù)制黏貼刪除,實(shí)時(shí)編輯等功能.這篇文章主要介紹了基于vue+canvas的excel-like組件,需要的朋友可以參考下2017-11-11
在Vue中使用xlsx組件實(shí)現(xiàn)Excel導(dǎo)出功能的步驟詳解
在現(xiàn)代Web應(yīng)用程序中,數(shù)據(jù)導(dǎo)出到Excel格式是一項(xiàng)常見的需求,Vue.js是一種流行的JavaScript框架,允許我們構(gòu)建動(dòng)態(tài)的前端應(yīng)用程序,本文將介紹如何使用Vue.js和xlsx組件輕松實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)出功能,需要的朋友可以參考下2023-10-10
JavaScript之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Vue示例
這篇文章主要介紹了JavaScript之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Vue示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
Vue基于環(huán)境變量統(tǒng)一的多級(jí)路徑部署終極指南
這篇文章主要為大家詳細(xì)介紹了一個(gè)完整的解決方案,從環(huán)境變量配置到Nginx部署,確保你的Vue項(xiàng)目可以靈活部署在任何路徑下,下面小編就為大家簡(jiǎn)單介紹一下吧2025-08-08
Vue 動(dòng)態(tài)組件與 v-once 指令的實(shí)現(xiàn)
這篇文章主要介紹了Vue 動(dòng)態(tài)組件與 v-once 指令的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02

