这一段时间在用Vue写项目,在学习通过prop给组件传值时遇到了问题。
我希望给prop的属性一个默认值,这样在我自定义props验证不通过和没有传值的时候也能有显示效果
我参考了官方的 prop-deafult 去给与一个默认值,
但是我在调用的时候没有传值进去且default也没有起作用
子组件声明-HTML:
<div v-for="(item,key) in arrList" :key="key">
<img :src="item.img">
</div>
Script:
props:{
arrList:{
type:Array,
default:this.demoArr
}},
data(){
return{
demoArr:[
{title:"This is 01 title",price:"100",img:require('@/assets/example-pic/examplePic01.png')},]}
</div>
父页面的引用
<Itembrief></Itembrief>
运行结果
可以看到是没有数据的,也就是说default也没有生效....
虽然我自己有一个比较笨的办法可以解决,但是还是想知道为什么default没有生效
不清楚是否需要用官方文档中构造函数的例子去使用
对象或数组,default要指定工厂函数返回