[Vue warn]: Invalid prop: type check failed for prop "number". Expected String with value "undefined", got Undefined
时间: 2023-08-03 08:34:10 浏览: 155
vue props传值失败 输出undefined的解决方法
这个警告是由于你在子组件中定义了一个 props,但是在父组件中并没有传递正确的值导致的。
警告信息中指出了具体的错误原因:在子组件中,你定义的 props 名称为 "number",并指定了它的类型为 String,但是在父组件中没有传递有效的值。
例如,在子组件中定义了如下 props:
```vue
<template>
<div>{{ number }}</div>
</template>
<script>
export default {
props: {
number: String
}
}
</script>
```
然后在父组件中使用子组件时,没有给 "number" 传递一个有效的值:
```vue
<template>
<div>
<Child />
</div>
</template>
<script>
import Child from './Child.vue';
export default {
components: {
Child
}
}
</script>
```
这种情况下,props "number" 将默认为 undefined,因为父组件没有传递一个有效的值。由于在子组件中指定了它的类型为 String,所以在类型检查时会发出警告。
要解决这个问题,你需要在父组件中给 "number" 传递一个有效的值。例如:
```vue
<template>
<div>
<Child :number="'123'" />
</div>
</template>
<script>
import Child from './Child.vue';
export default {
components: {
Child
}
}
</script>
```
这样,"number" 就会被传递为一个字符串类型的值 "123",不会触发警告。
阅读全文