Angular 4: build --prod: события клавиатуры не запускаются - PullRequest
0 голосов
/ 25 мая 2018

Как только я собрал свое приложение Angular для производства:

ng build --prod

Ни одно из моих событий клавиатуры не сработало:

chat-window.component.html:

<input type="text" class="chat-input" placeholder="Write your message here..." (keydown.enter)="onEnter($event)" (keydown)="onKeydown($event)" (focus)="onFocus($event)" [(ngModel)]="draftMessage.text" />
<span class="input-group-btn">
    <button type="button" class="btn-chat" (click)="onEnter($event)">Send</button>
</span>

Приведенный выше фрагмент HTML не содержится в:

<form></form>

chat-window.component.ts:

onEnter(event: any): void {
    console.log('CHAT-WINDOW: keydown.enter: event',event);
    this.sendMessage();
    event.preventDefault();
}

onKeydown(event: any): void {
    console.log('CHAT-WINDOW: keydown: event',event);
}

КогдаПри нажатии кнопки «Ввод» внутри поля ввода ничего не происходит.Нет консольного сообщения, и сообщение не отправлено.Я добавил обработчик событий (keydown), чтобы посмотреть, запускаются ли события keydown.И ничего.

Обычно эта проблема возникала, используя только '(keydown.enter)'.Я только добавил «(keydown)», чтобы увидеть, будут ли регистрироваться какие-либо события keydown.Я также попытался удалить 'event.preventDefault ();'и до сих пор ничего не срабатывает.

Однако событие нажатия на кнопку работает, поэтому события мыши, кажется, в порядке.

В режиме разработки [localhost: 4200] все работает, как ожидалось.Другими словами, отображаются соответствующие консольные сообщения и сообщение отправляется.

Может кто-нибудь сказать мне, почему мои события клавиатуры не регистрируются, когда я использую скомпилированную версию моего приложения?

Среда:

"@angular/cli": "1.5.0",

"@angular/compiler-cli": "5.0.0",

Проверено на:

Firefox [latest version]
Chrome [latest version]
Edge [latest version]
...