AoT编译中的Angular2主机绑定问题

angular compiler-errors aot angular2-hostbinding

203 观看

1回复

使用最新的Angular2 Webpack Starter(v5.4.1./ Angular 2.4.6),我正在尝试使用AoT编译器构建代码。在自定义表单输入组件中,我有这个host binding

@Component({
  selector: 'my-selector',
  templateUrl: 'mycustominput.component.html',
  host: {'(input-blur)': 'onInputBlur($event:any)'},
  providers: [INPUT_VALUE_ACCESSOR]
})

生成运行npm run build:aot:prod失败并显示此消息

[at-loader] Checking finished with 2 errors
Error in bail mode: [at-loader] compiled/src/app/views/mycustominput.component.ngfactory.ts:142:35 
TS2346: Supplied parameters do not match any signature of call target.

中的相应行(142)ngfactory是:

141  if ((eventName == 'input-blur')) {
142    const pd_sub_0:any = ((<any>this.context.onInputBlur($event)) !== false);
143    result = (pd_sub_0 && result);
144  }

显然,它与主机绑定有关。在JIT编译的开发版本中,此代码没有问题。任何想法如何解决这一问题?

作者: Matt 的来源 发布者: 2019 年 10 月 8 日

回应 (1)


0

决定

哦,我的坏。eventAoT现在抱怨的只是我组件中的回调方法中缺少的参数。

变了

public onInputBlur() {...}   

public onInputBlur(event) {...}
作者: Matt 发布者: 21.02.2017 04:40
32x32