Angular2和Heroku AOT生成提供的参数与调用目标的签名不匹配

Angular2和Heroku AOT生成提供的参数与调用目标的签名不匹配,angular,typescript,heroku,typechecking,Angular,Typescript,Heroku,Typechecking,我的Angular2应用程序已经构建、编译并运行了几个月了。package.json几个月来也没有改变 今天,当我部署到Heroku时,突然发现了一大堆以前从未见过的错误 例如: ERROR in /tmp/build_2370f712cb3c370be2ee07c793ee7c1e/src/$$_gendir/app/products /product-form/product-form.component.ngfactory.ts (93,9): Supplied parameters

我的Angular2应用程序已经构建、编译并运行了几个月了。package.json几个月来也没有改变

今天,当我部署到Heroku时,突然发现了一大堆以前从未见过的错误

例如:

ERROR in /tmp/build_2370f712cb3c370be2ee07c793ee7c1e/src/$$_gendir/app/products
/product-form/product-form.component.ngfactory.ts (93,9): 
 Supplied parameters do not match any signature of call target.
我不知道它在实际组件中指的是哪一行。这段代码在几天前运行并构建

我联系了Heroku支持部门,他们不知道为什么会突然发生这种情况

从这个角度来看,这似乎与AOT编译有关。但我以为希罗库总是这么做。这里有点困惑

如果我使用
ngbuild--AOT--prod
在本地强制AOT编译,则不会发生这些错误

请注意,错误引用的是“ngfactory.ts”文件的第93行-因此,如何才能找到组件中的实际行号

编辑

我创建了一个全新的项目,将所有内容更新为Angular 4.1.3。每次我添加一个新组件时,我都会推送到Heroku。在最新的组件出现之前,一切都很好(到目前为止大约有30个组件),它现在给出了相同的错误,只是它不是指
ngFactory.ts
文件,而是指html文件

ERROR in ng:///tmp/build_48fd9e2da47f9df65e24dab60d5fc080/src/app/
proposal-list/proposal-list.component.html (8,7): 
Supplied parameters do not match any signature of call target.
这是文件,第8行是结束语
。这毫无意义-它指的是什么参数

<div class="row fb-pager-row">
  <div class="col-md-4 text-left fb-pager-records">
    {{total$ | async | i18nPlural:pluralizeMapQuote}}
  </div>
  <div class="col-md-8 text-right">
    <pagination-controls class="fb-pager" autoHide="true"
      (pageChange)="goToPage($event)" id="server" previousLabel="Prev" maxSize="7">
    </pagination-controls>
  </div>
</div>
<div class="list-group">
  <fb-proposal-list-item *ngFor="let proposal of items$ | async | 
     paginate: { id: 'server', itemsPerPage: 10, currentPage: currentPage, totalItems: total$ | async }" 
    [proposal]="proposal" (proposalDataChanged)="handleDataChanged($event)">
  </fb-proposal-list-item>
</div>

{{total$| async | i18n语言:pluralizeMapQuote}

如果我完全删除分页控件,它将生成。所以我假设这里面有问题。

所以问题出在第7行,而不是第8行

我终于明白了:

(pageChange)="goToPage($event)"
有两个参数,而不是一个。所以

(pageChange)="goToPage($event, true)"

修复了错误。

您能共享组件的html和ts吗?@echonax代码太多了,我想知道如何在本地生成工厂文件,以便查看它引用的文件。@echonax这里有一个链接,我现在公开了repo:它是列表中的最后一个组件,products-component.ts