ОШИБКА TypeError: объект (…) не является функцией

#typeerror

#ошибка типа

Вопрос:

У меня есть эта ошибка с angular-material в теге mat-select. Тег параметра представляет собой список *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",
    ...
  

Ответ №1:

Я решил эту проблему, изменив:

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

с

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

Потому что isArray был самодельным классом, который разбился.