2017-02-21 9 views
0

Mit der neuesten Angular2 Webpack Starter (v5.4.1./Angular 2.4.6) Ich versuche, meinen Code mit dem AoT-Compiler zu bauen. In einer benutzerdefinierten Formular Eingabekomponente I habe diese host bindingAngular2-Host-Bindung Problem in AoT Kompilierung

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

Der Build Lauf mit npm run build:aot:prod Einzahlern dieser Nachricht

[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. 

die jeweilige Leitung (142) in den ngfactory ist dies:

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

Offensichtlich hat es etwas mit der Host-Bindung zu tun. Kein Problem mit diesem Code in dem Entwickler-Build, der JIT-kompiliert wurde. Irgendwelche Ideen, wie das zu beheben ist?

Antwort

0

Oh, mein Schlechter. Es ist nur der event Parameter, der in der Rückrufmethode in meiner Komponente fehlt, über die sich AoT nun beschwert.

geändert

public onInputBlur() {...} 

zu

public onInputBlur(event) {...} 
Verwandte Themen