Я пытаюсь написать простую директиву для модалов, чтобы закрыть их, когда я отправлю форму внутри них.Угловая директива используется дважды, переопределяющий элемент
У меня есть 2 модальности: Loginmodal и регистрация модальные, соответственно упорядоченные в моем html.
модальности находится внутри modals.html, который называется с нг-включить внутри HTML-файл, который также называется в нг-включает в себя, таким образом, мы имеем здесь childscope из childscope в
Моей директивы
.
directive('myModal', function() {
return {
restrict: 'A',
scope : { },
link: function(scope, element, attr) {
scope.$parent.$parent.$parent.dismiss = function() {
console.log(element.hasClass('in')); //returns false
element.modal('hide');// doesn't work because element is always the second modal
};
$(element).bind('shown.bs.modal', function() {
if (!scope.$$phase && !scope.$root.$$phase)
scope.$parent.$parent.$parent.$apply();
});
}
};
});
Я не знаю, почему элемент внутри link
является переопределение последним элементом?
Я применяю мою модальную директиву для обоих моих модалов, но я открываю первый.
Любая помощь будет очень ценится
Я знаю, что уродливо использовать $ parent. $ Parent. $ Parent.Внутренний разработчик сам, говорит мне, что это дерьмо, и должно быть что-то более простое. Я не думаю, что 'scope. $ Parent. $ Parent. $ Parent' отличается для двух модалов, потому что они находятся в одном файле. Я попытаюсь исправить вещи и вернуться к вам. – Sekai
для редактирования, он еще не доступен для Angular 1.3 – Sekai
Итак, как я могу это сделать, чтобы директива не переопределяла первый модальный? Спасибо за ваше время – Sekai