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> <div class='email-reset-button-text'>Link Sent</div>");
}
else {
elem.html("Email Reset Link");
}
})
}
});
если вы хотите использовать директиву 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()"
?
попробуйте увидеть этот плункер