配置项props:
功能:让组件接收外部传过来的数据。
(1).传递数据:
<Demo name='xxx' age='xxx'/>
例如:
(2).接收数据(一共有三种方式):
- 第一种方式:
props:['name','age']
该方式最为简便,但是不能限制传入的参数类型和指定默认值。
如图所示:
运行结果如下:
2.第二种方式:
props:{
name:String,
age:Number
}
该方式可以限制传入数据的类型,但是不能设置默认值和必要性。
如图所示:
结果如下:
值得特别注意的是控制台的警告:
很明显我们对age进行了Number类型的限制,但是我们在传参的时候,如下图所示,传入的是String类型的18。
如果我们把age属性写成:age='18'
或者v-bind:age='18'
,那么这个18就是Number类型的了,控制台也就不会输出警告了。
这是因为如果写成:age='18'
或者v-bind:age='18'
,那么引号里面的东西就变成了js表达式。这是Vue中v-bind:
的语法。
3.第三种方式:
props:{
name:{
type:String,//类型
required:true,//必要性
default:'老王'//默认值
}
}
如图所示:
该方式既可以限制传入数据的类型,也可以设置默认值,还可以限制必要性,是最完整的写法。
(如果传进来的数据非常重要,不允许出一点差错,就使用这个方式接收数据,比如跟钱有关的数据。否则用第一种方式,最为简单)。