Переключить функцию при нажатии переключателя в начальной загрузке и angular 5

Я использую Angular 6 и Bootstrap 4. У меня есть группа кнопок Bootstrap:

<div class = "btn-group btn-group-toggle" data-toggle = "buttons">
    <label class = "btn btn-secondary">
        <input type = "radio" [(ngModel)] = "usecase" name = "options" id = "option1" [value] = "customer"> Kundenzuordnung
    </label>
    <label class = "btn btn-secondary">
        <input type = "radio" [(ngModel)] = "usecase" name = "options" id = "option2" [value] = "stock"> Lagerware
    </label>
    <label class = "btn btn-secondary">
        <input type = "radio" [(ngModel)] = "usecase" name = "options" id = "option3" [value] = "internalUse"> Interne Verwendung
    </label>
</div>

Я хочу, чтобы функция вызывалась при выборе кнопки, и я пробовал все следующие методы / свойства, указанные ниже:

  • (click)
  • onclick
  • onkeydown
  • ng-change
  • (ngModelChange)
  • пропущенное поле значения

Как я могу вызвать свою функцию formChange(0), когда пользователь нажимает кнопку?

Какой еще вариант?

Sergio Escudero 07.05.2018 23:43

? я не понимаю твой вопрос

Sithys 07.05.2018 23:45

Вы сказали: «Как я могу вызвать свою функцию formChange (0), когда пользователь выбирает другой вариант». Какой еще вариант?

Sergio Escudero 07.05.2018 23:48
(ngModelChange) = "myFunction($event)" должен работать.
ConnorsFan 07.05.2018 23:52

нет, это не так: /

Sithys 08.05.2018 11:20

использование (click) = "anotherFunction(0)" на каждом входе решит вашу проблему. это работает для меня ... просто отправьте разные идентификаторы с каждого входа

Prasanna 11.05.2018 09:05

Можете ли вы воспроизвести проблему в стекблице? Если [(ngModel)] работает, я не понимаю, как (ngModelChange) не сработает. Может быть, вы могли бы показать, как именно вы это пробовали. Или посмотрите, есть ли у вас ошибки в консоли при выборе элемента.

ConnorsFan 12.05.2018 17:26
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
7
2 547
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

это было так просто ... мне пришлось добавить функцию (click) на этикетку, а не на вход.

Попробуй вот этот, думаю, сработает.

 <form #form = "ngForm" (ngSubmit) = "logForm(form.value)">

    <div class = "btn-group btn-group-toggle" data-toggle = "buttons">
        <label class = "btn btn-secondary">
            <input type = "radio" name = "options" id = "option1" value = "customer" ngModel> Kundenzuordnung
        </label>
        <label class = "btn btn-secondary">
            <input type = "radio" name = "options" id = "option2" value = "stock" ngModel> Lagerware
        </label>
        <label class = "btn btn-secondary">
            <input type = "radio" name = "options" id = "option3" value = "internalUse" ngModel> Interne Verwendung
        </label>
    </div>

 </form>

Другие вопросы по теме