Обновление нескольких элементов ввода HTML с использованием угловых - PullRequest
0 голосов
/ 01 мая 2018

Угловой 2/4: Предположим, есть три HTML-элемента для ввода текста. При обновлении любого другого, два других текста должны обновляться на основе логики. Каков наилучший способ добиться этого с помощью угловых. Функция onChange здесь не будет работать, поскольку она будет выполнять циклический вызов одной и той же функции для каждого элемента.

Ответы [ 3 ]

0 голосов
/ 01 мая 2018

Если вы пытаетесь сделать входные данные зависимыми друг от друга, я думаю, что Реактивные формы будут лучшим решением, я думаю. Или, если вы придерживаетесь шаблонного управления, вы можете создать три отдельные переменные, значение которых будет меняться в зависимости от изменения любого из входных данных

0 голосов
/ 01 мая 2018

Я согласен с Rambo772, если вы хотите, чтобы пользователь покинул поле ввода, прежде чем вызывать функцию, НО, если вы хотите, чтобы в режиме реального времени вы просто делали событие нажатия клавиши:

<input type=text [(ngModel)]="model" (keypress)="eventHandler($event, model)">

eventHandler(event, model) {
   console.log(event, event.keyCode, event.keyIdentifier, model);
}

PS. Для всех вас, говорящих, что onChange будет работать, это не так, поскольку у парня есть ngModel в каждом поле ввода, когда вы запускаете одну onChange, это изменило бы другие модели, которые вызвали бы onChange на них, и изменило первую ... Вы понимаете, к чему я клоню :), меня интересует, в чем же заключается проблема, будет ли каждое поле ввода по-разному влиять на другие или они находятся в одинаковой корреляции друг с другом ...

0 голосов
/ 01 мая 2018

Если вы хотите активировать функцию обновления двух других полей после того, как пользователь отменит выбор поля ввода, то искомое событие будет blur.

Вы можете получить доступ к пользовательскому вводу в javascript и добавить свою «логику», чтобы определить текст для других автоматически заполненных текстовых полей.

...