объектный прототип наследования angularjs может быть только объектом или нулем - PullRequest
0 голосов
/ 27 сентября 2018

Я думал, что это будет простая задача для базового и дочернего классов, но эта ошибка вызывает у меня ошибку.

Я создал базовый класс следующим образом:

module A.B.C {

   export class instructionBase {

      constructor(
      var1: class1,
      var2: class2,
      ...etc for 10 injected classes) { //init code }

      method1(){}

      method2(){}
   }
}

Мой унаследованный класс похож наthis:

namespace A.B.C {

   export class instructionComponent extends instructionBase {

      static $inject = ["", "", ""...for 10 times]

      constructor(
         var1: class1,
         etc for 10 times) {

         super(var1, for 10 times)
         }
   }

   // Register the component
   angular.module("myApp.abc")
    .component("instructioncomponent", {
        templateUrl: "/.../instruction.component.html",
        controllerAs: "vm",
        transclude: true,
        controller: instructionComponent 
    });

}

Во время выполнения я получаю эту ошибку:

Uncaught TypeError: Прототипом объекта может быть только Object или null: undefined в setPrototypeOf () в __extends (someOtherClassICreatedALongTimeAgo).js: 6) в instrumentComponent.ts: 4 в ABC (instrumentComponent.ts: 4) в ABAB (instrumentComponent.ts: 45) в A (instrumentComponent.ts: 45) в instrumentComponent.ts: 45

Что меня интересует, так это то, что в строке 6 ошибки пространство имен частично повторяется дважды.У меня есть непреднамеренная циклическая ссылка?

Глядя на этот класс (someOtherClassICreatedALongTimeAgo) из-за ошибки, он также расширяет базовый класс, поэтому я должен где-то пересечь провода.

TIA

1 Ответ

0 голосов
/ 27 сентября 2018

Скорее всего, в то время, когда вы пытаетесь продлить instructionBase, это undefined.Это было бы мое предположение.Если вы хотите быть уверенным в этом, попробуйте поместить его в тот же файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...