Vue組件之間的參數(shù)傳遞與方法調(diào)用的實(shí)例詳解
父組件向子組件
1.父組件向子組件傳參:父組件中的子組件標(biāo)簽中增加 :param="param"
子組件中增加 props 接受參數(shù)(注意props需要與data同級)
props: { param: { type: Object } }, data() { return { ... } },
2.父組件調(diào)用子組件方法:父組件中子組件的標(biāo)簽增加 ref="abc"
例如:
<child ref="abc"></child>
然后在父組件中使用 refs直接調(diào)用子組件方法
例如:
this.$refs.abc.XXX()
子組件調(diào)用父組件方法
1.父組件中子組件的標(biāo)簽注冊方法 @abc="XXX"
子組件中使用$emit 調(diào)用父組件方法
例如:
// 無參 this.$emit('abc') ? // 帶參 this.$emit('abc', {params})
2.子組件使用$parent
例如:
// 方法 this.$parent.abc() // 屬性 this.$parent.abcd = 1
其它組件間調(diào)用
可以使用EventBus
在被調(diào)用的組件中使用EventBus.$on
,在調(diào)用的組件中使用EventBus.$emit
例如:
被調(diào)用的組件中:
created() { EventBus.$off('Name') EventBus.$on('Name', (data1, data2) => { this.method(data1,data2) }) }
調(diào)用的組件中:
EventBus.$emit('Name', res.data.list, flag)
補(bǔ)充:
props的幾種寫法:
// 默認(rèn)寫法 props: { btnClick: { type: Function, default: function() {} }, titleName: { type: String, default: "內(nèi)容" }, display: { type: String, default: "table" }, columnNum: { type: Number, default: 1 }, columnslist: { type: Array, default() { return []; } }, showPage: { type: Boolean, default: true }, apiData: { type: Object, default() { return {}; } }, param: { type: Object, default() { return {}; } }, defaultParam: { type: Boolean, default() { return true; } } },
注意:如果默認(rèn)值的類型為數(shù)組或者對象的話,一定要在函數(shù)中返回這個默認(rèn)值,而不是直接寫,否則會報錯
// 正確: datalist:{ type:Array, default:function(){ return [] } } ? // 錯誤 datalist:{ type:Array, default:[] } // 或者直接跟上面第一個代碼一樣,不管什么類型,都寫在函數(shù)返回中。
補(bǔ)充2:VUE 父組件動態(tài)傳值給子組件
http://www.dbjr.com.cn/article/127980.htm
到此這篇關(guān)于Vue組件之間的參數(shù)傳遞與方法調(diào)用的實(shí)例詳解的文章就介紹到這了,更多相關(guān)vue參數(shù)傳遞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項(xiàng)目中使用bpmn-自定義platter的示例代碼
這篇文章主要介紹了vue項(xiàng)目中使用bpmn-自定義platter的實(shí)例代碼,本文通過代碼截圖相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05vue項(xiàng)目的html如何引進(jìn)public里面的js文件
這篇文章主要介紹了vue項(xiàng)目的html如何引進(jìn)public里面的js文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Vue表單綁定的實(shí)例代碼(單選按鈕,選擇框(單選時,多選時,用 v-for 渲染的動態(tài)選項(xiàng))
本文通過實(shí)例代碼給大家介紹了Vue表單綁定(單選按鈕,選擇框(單選時,多選時,用 v-for 渲染的動態(tài)選項(xiàng))的相關(guān)知識,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05vue 路由子組件created和mounted不起作用的解決方法
今天小編就為大家分享一篇vue 路由子組件created和mounted不起作用的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11ElementUI中的el-dropdown傳入多參數(shù)的實(shí)現(xiàn)方法
本文主要介紹了ElementUI中的el-dropdown傳入多參數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12關(guān)于vue.js v-bind 的一些理解和思考
本篇文章主要介紹了關(guān)于vue.js v-bind 的一些理解和思考,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06Vue中避免濫用this去讀取data中數(shù)據(jù)
這篇文章主要介紹了Vue中避免濫用this去讀取data中數(shù)據(jù)的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-03-03vue 2.5.1 源碼學(xué)習(xí) 之Vue.extend 和 data的合并策略
這篇文章主要介紹了Vue.extend 和 data的合并策略 ,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06