Vue道具装饰器-无效的道具类型检查

时间:2020-07-13 15:06:19

标签: vue.js quasar vue-property-decorator

我正在使用vue-prop-decorator和Quasar Framework。 我有一个组件,可以接收一个道具,定义如下:

<FabricanteComponente   
                :fabricante="fabricante"
/>

在组件本身中,道具用装饰器描述:

 @Prop({
        default: () => new Fabricante()
    })
    fabricante: Fabricante;

从package.json库的最新更新中,我开始出现以下错误:

[Vue警告]:道具无效:道具“ fabricante”的类型检查失败。期望得到对象

关于package.json上列出的相关依赖项

    "quasar": "^1.12.11",
    "vue-class-component": "^7.2.3",
    "vue-property-decorator": "^9.0.0"
    "@types/node": "^14.0.22",
    "@typescript-eslint/eslint-plugin": "^3.6.0",
    "@typescript-eslint/parser": "^3.6.0",
    "@vue/eslint-config-prettier": "^6.0.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.8.0",
    "eslint-config-prettier": "^6.11.0",
    "eslint-loader": "^4.0.2",
    "eslint-plugin-cypress": "^2.11.1",
    "eslint-plugin-vue": "^6.2.2",
    "ts-loader": "^8.0.0",
    "typescript": "^3.9.6",
    "vuex-module-decorators": "^0.17.0"

但是我无法弄清楚错误的位置。有关如何解决的任何想法?

1 个答案:

答案 0 :(得分:0)

今天我发现了问题。 Vue本身并没有对警告消息中发生的事情做太多解释。

尽管如此,正如您在Prop定义中看到的那样,它需要一个Fabricante实例,而我只是从请求中发送原始对象。创建一个类似

的类
<div>
  <input required type="checkbox" id="required">
  <label for="required">Required</label>
  <input type="checkbox" id="notrequired">
  <label for="notrequired">Not required</label>
</div>

解决了。