vue.esm.js?efeb:628 [Vue warn]: Invalid prop: type check failed for prop "hello". Expected String with value "23452345", got Number with value 23452345.

vue.esm.js?efeb:628 [Vue warn]: Invalid prop: type check failed for prop "hello". Expected String with value "23452345", got Number with value 23452345.

报错原因: 父亲传递给儿子的数据是 Number 类型的;但是儿子接收的时候,却是String 类型的所以报错。

父组件 传递参数给子组件
 <Child :hello="hello" ></Child> //3.使用
<script>
import Child from '@/components/child' //1. 在父组件中引入子组件,实现关联关系
export default {
        name: 'parent',
        data() {
            return {
                hello:23452345,
            }
        },
        components: { //2. 注册组件
            Child
        }
}
</script>
 
子组件通过 props 接收参数
<template>
    <div class="">
        子组件
        {{hello}}
    </div>
</template>
 
 props:{
            hello:{
                type:String,
            },
}
 

解决方案:加上 Number 类型即可。

 props:{
            hello:{
                type:[String,Number], //表示 String 和 Number 的数据都可以接收。
            },
}
posted @ 2022-02-20 01:22  芳香四溢713051  阅读(299)  评论(0编辑  收藏  举报