Vue2&3-props配置功能  
 Vue2-props配置  
功能:接收从其他组件传过来的数据,将数据从静态转为动态 注意: 同一层组件不能使用props,必须是父组件传子组件的形式。父组件传数据,子组件接收数据。 不能什么数据都接收,可能会出现一些奇怪的bug props接收过来的数据不要修改,页面渲染可能没有问题,但控制台会报错,而且不符合规范      
 
 props的三种接收方法:  
 
props : [ 'a' ,  'b' ] 
  
 
props  :  {  a  :  String b  :  Number 
} 
  
 
props  :  {  a  :  { type  :  Number,  required  :  true  } ,  b  :  {  type  :  Number,  default  :  10  } 
} 
  
 传数据的形式(传数据的形式可对应任意一种接受数据的方法):  
 
< Info name= "张三"  : age= "12" > < / Info> 
props  :  [ 'name' ,  'age' ] 
  
 
< Info : list= "list" > < / Info> 
data ( )  { return  { list  :  [ { id : '001' ,  name : 'zhangsan' ,  age : '10' } , { id : '002' ,  name : 'lisi' ,  age : '20' } ] } 
} 
props  :  [ 'list' ] 
  
 
< Info : list= "list" > < / Info> 
method  :  { list ( ) { ... ... } 
} 
props  :  [ 'list' ] 
  
注:传数据的形式有很多,不局限以上用法,也可以在computed : {}中传数据等   
 怎么用?  
 
< template> < div> < h1> { { msg} } < / h1> < Info name= "张三"  : age= "12" > < / Info> < / div> 
< / template> < script> import  Info from  './components/Info.vue' export  default  { name  :  'App' , data ( )  { return  { msg  :  '个人信息' } } , components  :  { Info} } 
< / script> 
  
< template> < div> < h3> 姓名:{ { name} } < / h3> < h3> 年龄:{ { age} } < / h3> < / div> 
< / template> < script> 
export  default  { name  :  'Info' , data ( )  { return  { name :  this . name} } , props  :  [ 'name' , 'age' ] props  :  {  name  :  String age  :  Number } props  :  {  name  :  { type  :  Number,  required  :  true  } , age  :  {  type  :  Number,  default  :  10  } } 
} 
< / script> 
  
 Vue3-props配置  
 props的配置在Vue2和Vue3上基本相同,这里主要说明如何用setup调用props的接受数据  
setup如何调用props? 在setup函数中是没有this关键字的,所以在代用setup函数之前,会先给setup传递一个参数(props) props参数在setup中被包装成一个代理对象,同样具有响应式处理能力      
< template> < User name= "jack"  : age= "age" > < / User> 
< / template> < script> import  {  ref }  from  'vue' import  Info from  './components/Info.vue' export  default  { name  :  'App' , components  :  { Info} , setup ( ) { let  age =  ref ( 20 ) return { age} } } 
< / script> 
  
< template> < h2> 姓名:{ { name} } < / h2> < h2> 年龄:{ { age} } < / h2> 
< / template> < script> export  default  { name  :  'Info' , props  :  [ name,  age] , setup ( props ) { console. log ( props. name) ; console. log ( props. age) ; } } 
< / script>