升级到Angular v4 final后的AOT错误

时间:2017-03-27 19:45:29

标签: angular angular2-aot

从最后一个v4-rc更新到v4 final后,我在调用“ng build -prod”时收到以下错误消息,并且不知道从哪里开始寻找问题。

  
    

>     c://src/$$_gendir/app/app.module.ngfactory.ts(1,1)中的错误:提供的参数与调用目标的任何签名都不匹配。     <<<

  

该消息再次重复,但未提供其他信息。

有什么想法吗?

亲切的问候, 马克

1 个答案:

答案 0 :(得分:2)

来自Angular-cli团队:

  

我们修复了AOT和模板的问题,其中错误并不总是如此   报道。现在他们应该。这可能表明以前隐藏的错误   存在于您的代码库中。

所以这是一种预期的行为。

错误说的是您正在调用方法,但您提供的参数与此方法的声明不匹配。

实施例

方法声明:

private myMethod(arg: any) {}

你怎么称呼它:

this.myMethod();

就我个人而言,我正在使用路由器转换回调:

@Component({
  ...,
  host: { '[@routerTransition]': '', '(@routerTransition.done)': 'init($event)' },
  ...
})

init方法的声明如下:

public init() { }

我必须通过添加缺少的参数来修复它:

public init(event: any) { }

注意:它可能是另一种方式:调用一个参数多于所需参数的函数。