Angular - Как получить угловую директиву для запуска после функции области действия обработчика ng-click?

0

Scenraio

Я новичок в Angular и имею следующую проблему.

Я хочу вызвать директиву для изменения цвета и добавить изображение на кнопку. Я не могу получить первое условие, чтобы вызвать это изменение в моей Угловой Директиве.

проблема

Я хочу, чтобы директива принимала действие на основе результата обработчика ng-click. Несмотря на то, что мой отладчик показывает, что директива вызывается, я не получаю первое условие для ввода.

Вопросов

1) Что мне нужно сделать, чтобы заставить это работать?

2) Нужно ли мне учитывать, не вызывается ли ng-click перед обработкой директивы?

HTML

<button class="email-reset-btn"  type="button" ng-click="resetEmailLink();" emailReset="changeBtn();" name="button">Email Reset Link</button>

Функция уровня области действия

var emailResetValidation = function () {
  if($('#email').val().trim() == "")
  {
    $(".email-reset-btn").removeClass("email-active-green");
  }
}

директива

.directive('emailReset', [function(){
      return {
        link: function(scope, elem, attrs) {
          elem.bind("click", function(){
            if(!elem.hasClass('email-active-green')) {  <--- Here is where I want the debugger to enter to change the button HTML
               elem.html("<div class='email-sent-placeholder'><img width='15px' src='./resources/icons/[email protected]'/></div>&nbsp;<div class='email-reset-button-text'>Link Sent</div>");
            }
            else {
               elem.html("Email Reset Link");
            }
          })
        }
      });
  • 0
    Не могли бы вы поделиться html #email?
  • 0
    #email - это просто текстовый ввод с идентификатором "email"
Показать ещё 1 комментарий
Теги:
angularjs-ng-click

1 ответ

0

если вы хотите использовать директиву emailReset должны установить email-reset в своем HTML, как это

 <button class="email-reset-btn"  type="button" ng-click="resetEmailLink();" email-reset="changeBtn();" name="button">Email Reset Link</button> 

и я не могу понять, что emailReset = "changeBtn()"?

попробуйте увидеть этот плункер

Ещё вопросы

Сообщество Overcoder
Наверх
Меню