Я испытываю очень неясное сообщение об ошибке в Angular 7 при попытке использовать @Input
наследование. Сообщение об ошибке не имеет никакого смысла, потому что у меня есть 1 обязательный @Input
и 2 необязательных @Input
, чтобы математика не складывалась ...
Directive MyComponent, Expected 2 arguments, but got 1.
at Object.<anonymous> (/home/project/node_modules/ng-packagr/lib/ngc/compile-source-files.js:53:68)
at Generator.next (<anonymous>)
at /home/project/node_modules/ng-packagr/lib/ngc/compile-source-files.js:7:71
at new Promise (<anonymous>)
at __awaiter (/home/project/node_modules/ng-packagr/lib/ngc/compile-source-files.js:3:12)
at Object.compileSourceFiles (/home/project/node_modules/ng-packagr/lib/ngc/compile-source-files.js:19:12)
at Object.<anonymous> (/home/project/node_modules/ng-packagr/lib/ng-v5/entry-point/ts/compile-ngc.transform.js:26:32)
at Generator.next (<anonymous>)
at /home/project/node_modules/ng-packagr/lib/ng-v5/entry-point/ts/compile-ngc.transform.js:7:71
at new Promise (<anonymous>)
Я создал этот сокращенный контрольный пример (https://stackblitz.com/edit/angular-p1r1mn)..., который представляет то, что я пытаюсь сделать, если я скомпилирую сокращенный контрольный пример с ng-packagr
, все скомпилируется нормально, без каких-либо ошибок ... но в моем Фактический проект (также использует ng-packagr
), он не работает и выдает ошибку выше ...
Если я уберу @Input
из базового класса и перенесу его в дочерний класс, то все будет работать нормально ... однако с угловым значением 7 1014 * наследование не должно быть проблемой.
Может кто-нибудь дать мне несколько советов о том, как устранить эту ошибку? (
Добавлен пример кода шаблона ... Ошибка определенно НЕ является шаблоном. Как видите, я просто передаю ему 1 аргумент, но почему-то это «ожидание 2», я не знаю, где и как он может ожидать 2 аргумента. Я не знаю хорошего способа отладки.
<div>
<ng-container *ngIf="gridConfig">
<my-ag-grid [config]="gridConfig"></my-ag-grid>
<my-component [config]="myPluginConfig"></my-component>
</ng-container>
</div>