ng-check /ng-model предотвращает изменение модели, когда пользователь нажимает флажок
Я строю простую форму с переключателем. Я хочу привязать тумблер к моей модели, welcomeEmail.welcome_email_on
, Когда я нажимаю на переключатель, я хочу позвонить toggleWelcomeEmail()
в моем контроллере. Эта функция проверяет, является ли новое состояние истинным или ложным, и затем что-то делает. Например, если переключатель был выключен, и пользователь щелкнул по нему, он должен включиться. Если он уже включен, и пользователь щелкает его, toggleWelcomeEmail()
Функция должна отображать запрос на подтверждение, а переключатель должен оставаться включенным, пока пользователь не подтвердит действие в приглашении.
У меня проблема в том, что кажется, что поведение по умолчанию ng-model
а также ng-checked
на флажок, чтобы обновить модель, когда пользователь нажимает флажок. Что я хочу сделать, это предотвратить дефолт. Я хочу, чтобы состояние моего флажка / переключателя отражало модель, однако я не хочу, чтобы модель обновлялась при нажатии. Вместо этого я предпочитаю звонить toggleWelcomeEmail()
,
У меня вопрос, как я могу это сделать? Я пытался использовать оба ng-checked
а также ng-model
, но оба ведут себя одинаково. Я знаю, что могу создать два переключателя и просто показать / скрыть их в зависимости от состояния welcomeEmail.welcome_email_on
, но тогда я потерял бы хорошую анимацию переключения, которая у меня есть. Я также попробовал очевидный подход положить $event.stopPropagation()
на моем ng-click
действие, однако это не имело никакого эффекта.