vue 在父组件向子组件传值错误

vue 在父组件向子组件传值出现如下错误

clipboard.png

该如何解决,希望哪位大神指点一下

阅读 4.9k
5 个回答

从错误信息来看,父组件给子组件传的value值是数组,而子组件定义了value是字符串或者数字类型,prop的类型校验没有通过。
如果你需要的value是一个字符串或者数字类型,父组件给子组件传的值改成字符串或者数字型类型,不要传数组类型;如果确实需要传数组,把value的类型校验去掉。

类型不对。期望String/Number,得到Array

2楼描述的很准确,我用代码描述一下:

//父组件 home.vue
<menu-footer :value=value></menu-footer>
  data () {
    return {
      value: 0, //子组件menuFooter.vue中定义的value是Number类型,如果这里传非Number(如: value:'a')就会报楼主的错误
    }
  }
//子组件 menuFooter.vue
<template>
  <div>{{value}}</div>
</template>

  props: {
    value: {
      type: Number,
      default: 0
    }
  }

父传递类型与子接收不符

子组件指定了接收了类型,父组件传值类型不对

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题