首页 > 解决方案 > 错误类型错误:对象(...)不是函数

问题描述

我在 mat-select 标记中使用 angular-material 出现此错误。选项标签是来自服务的 *ngFor 列表。我在 prod 模式下收到此错误,但在开发模式下没有。

ERROR TypeError: Object(...) is not a function ...

我的 package.json:

  "dependencies": {
    "@angular/animations": "^10.0.11",
    "@angular/common": "^10.0.11",
    "@angular/compiler": "^10.0.11",
    "@angular/cdk": "^10.1.3",
    "@angular/core": "^10.0.11",
    "@angular/flex-layout": "^10.0.0-beta.32",
    "@angular/forms": "^10.0.11",
    "@angular/google-maps": "^10.1.3",
    "@angular/localize": "^10.0.11",
    "@angular/material": "^10.1.3",
    "@angular/material-moment-adapter": "^10.1.3",
    "@angular/platform-browser": "^10.0.11",
    "@angular/platform-browser-dynamic": "^10.0.11",
    "@angular/router": "^10.0.11",
    ...
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.1000.7",
    "@angular/cdk": "^10.1.3",
    ...

标签: typeerror

解决方案


我通过更改解决了这个问题:

if (isArray(json)) {
      json = json.pop();
    }

if (Array.isArray(json)) {
      json = json.pop();
    }

因为 isArray 是一个崩溃的自制类。


推荐阅读