2017-02-21 9 views
0

Использование последних Angular2 Webpack Starter (v5.4.1./Angular 2.4.6) Я пытаюсь создать свой код с помощью компилятора AoT. В пользовательском компоненте формы ввода у меня есть это host bindingОшибка привязки узла Angular2 в компиляции AoT

@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 } 

Очевидно, что это имеет какое-то отношение к привязке к хосту. Никакая проблема с этим кодом в сборке dev не скомпилирована JIT. Любые идеи, как это исправить?

ответ

0

О, мой плохой. Это просто параметр event, отсутствующий в методе обратного вызова в моем компоненте, о котором сейчас жалуется AoT.

изменил

public onInputBlur() {...} 

в

public onInputBlur(event) {...} 
Смежные вопросы