Vue組件之間的參數(shù)傳遞與方法調用的實例詳解
父組件向子組件
1.父組件向子組件傳參:父組件中的子組件標簽中增加 :param="param"
子組件中增加 props 接受參數(shù)(注意props需要與data同級)
props: {
param: {
type: Object
}
},
data() {
return {
...
}
},2.父組件調用子組件方法:父組件中子組件的標簽增加 ref="abc"
例如:
<child ref="abc"></child>
然后在父組件中使用 refs直接調用子組件方法
例如:
this.$refs.abc.XXX()
子組件調用父組件方法
1.父組件中子組件的標簽注冊方法 @abc="XXX"
子組件中使用$emit 調用父組件方法
例如:
// 無參
this.$emit('abc')
?
// 帶參
this.$emit('abc', {params})2.子組件使用$parent
例如:
// 方法
this.$parent.abc()
// 屬性
this.$parent.abcd = 1其它組件間調用
可以使用EventBus
在被調用的組件中使用EventBus.$on,在調用的組件中使用EventBus.$emit
例如:
被調用的組件中:
created() {
EventBus.$off('Name')
EventBus.$on('Name', (data1, data2) => {
this.method(data1,data2)
})
}調用的組件中:
EventBus.$emit('Name', res.data.list, flag)補充:
props的幾種寫法:
// 默認寫法
props: {
btnClick: {
type: Function,
default: function() {}
},
titleName: {
type: String,
default: "內容"
},
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;
}
}
},
注意:如果默認值的類型為數(shù)組或者對象的話,一定要在函數(shù)中返回這個默認值,而不是直接寫,否則會報錯
// 正確:
datalist:{
type:Array,
default:function(){
return []
}
}
?
// 錯誤
datalist:{
type:Array,
default:[]
}
// 或者直接跟上面第一個代碼一樣,不管什么類型,都寫在函數(shù)返回中。補充2:VUE 父組件動態(tài)傳值給子組件
http://m.fzitv.net/article/127980.htm
到此這篇關于Vue組件之間的參數(shù)傳遞與方法調用的實例詳解的文章就介紹到這了,更多相關vue參數(shù)傳遞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue.js獲取數(shù)據(jù)庫數(shù)據(jù)實例代碼
本篇文章主要介紹了vue.js獲取數(shù)據(jù)庫數(shù)據(jù)實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
node+vue前后端分離實現(xiàn)登錄時使用圖片驗證碼功能
這篇文章主要介紹了node+vue前后端分離實現(xiàn)登錄時使用圖片驗證碼,記錄前端使用驗證碼登錄的過程,后端用的是node.js,關鍵模塊是svg-captcha,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-11-11

