在vue2中有很多组件之间传输数据的方式,比如消息的发布与订阅等等,但是也有比较初级的方法,比如说props传输数据。
props数据传输的限制:
props数据传输只能是在父子关系的组件之间传输数据,而且是单向的,只能是父级向子级传输数据然后子级组件接收数据,如果需要子级向父级传输数据就需要父级组件向子级组件传一个函数,然后子级把数据传给函数从而达到子级向父级传输数据的效果。
如果是同级组件间的数据传输,就需要借助他们共同的父级组件实现数据的传递:
先用函数实现子级向父级传输数据,父级接收到数据后传给另一个子级,从而实现两个同级组件的数据传输
props接收数据又几种类型:
1.简单接收
props:['name','age','sex']
2.规定数据类型接收
props:{
name:String,
age:Number,
sex:String
}
3.高级类型
接收数据的同时对数据进行类型限制换+默认值的制定+必要性的限制
props:{
name:{
type:String,//name的类型是字符串
required:true,//name的类型是必要的
},
age:{
type:Number,
defualt:99//默认值
},
sex:{
type:String,
required:true
}
}
例如name是必须要传的,否则就会报错
例如默认值就是不是必须要传的,如果没传就赋予默认值
如果要修改可以在data中设置一个中转变量来接收原本的数据,然后在data中修改中转变量再赋值给vm中的数据