? 在vue2中有很多組件之間傳輸數(shù)據(jù)的方式,比如消息的發(fā)布與訂閱等等溶诞,但是也有比較初級的方法,比如說props傳輸數(shù)據(jù)拧篮。
? ?props數(shù)據(jù)傳輸?shù)南拗疲?/b>
props數(shù)據(jù)傳輸只能是在父子關(guān)系的組件之間傳輸數(shù)據(jù),而且是單向的串绩,只能是父級向子級傳輸數(shù)據(jù)然后子級組件接收數(shù)據(jù),如果需要子級向父級傳輸數(shù)據(jù)就需要父級組件向子級組件傳一個函數(shù)赏参,然后子級把數(shù)據(jù)傳給函數(shù)從而達(dá)到子級向父級傳輸數(shù)據(jù)的效果。
? 如果是同級組件間的數(shù)據(jù)傳輸把篓,就需要借助他們共同的父級組件實(shí)現(xiàn)數(shù)據(jù)的傳遞:
先用函數(shù)實(shí)現(xiàn)子級向父級傳輸數(shù)據(jù),父級接收到數(shù)據(jù)后傳給另一個子級韧掩,從而實(shí)現(xiàn)兩個同級組件的數(shù)據(jù)傳輸
? props接收數(shù)據(jù)又幾種類型:
1.簡單接收
props:['name','age','sex']
2.規(guī)定數(shù)據(jù)類型接收
props:{
name:String,
age:Number,
sex:String
}
3.高級類型
接收數(shù)據(jù)的同時對數(shù)據(jù)進(jìn)行類型限制換+默認(rèn)值的制定+必要性的限制
props:{
name:{
type:String,//name的類型是字符串
required:true,//name的類型是必要的
},
age:{
type:Number,
defualt:99//默認(rèn)值
}疗锐,
sex:{
type:String,
required:true
}
}
例如name是必須要傳的,否則就會報(bào)錯
例如默認(rèn)值就是不是必須要傳的费彼,如果沒傳就賦予默認(rèn)值
如果要修改可以在data中設(shè)置一個中轉(zhuǎn)變量來接收原本的數(shù)據(jù),然后在data中修改中轉(zhuǎn)變量再賦值給vm中的數(shù)據(jù)