关于JS数据类型的问题

做公司项目的时候,从后台传来了这样一个数据:[{…}]
我理所当然的认为它是一个数组,然后把它赋予了一个空数组aprData,并将aprData传递给了子组件,并在子组件内规定了类型检查:

props: {
    aprData:[],
    }

然后神奇事情发生了,控制台显示:

errorHandler: I**nvalid prop: type check failed for prop "aprData". Expected , got Array

我于是赶紧检查一下数据类型:

console.log("aprData类型:",Object.prototype.toString.call(this.aprData));

结果:aprData类型: [object Array]
于是我彻底懵逼了。。。到底是哪里出错了???

阅读 2.2k
4 个回答

没有这样的写法,下面的写法都可以。

// 一
props: ['aprData']

// 二
props: {
    aprData: Array
}

// 三
props: {
    aprData: {
        type: Array,
        default: []
    }
}

因为你的类型检查应该写

props: {
    aprData: Array
    ...
}

好久没写VUE,但props类型约束,不是应该写“Array”吗?

props:{
    aprData:Array
}

把[]换成Array

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