Я написал модальную директиву, потому что хочу иметь пару модальных страниц. Я использовал этот учебник для достижения этой цели: http://adamalbrecht.com/2013/12/12/creating-a-simple-modal-dialog-directive-in-angular-js/Вызвать функцию при щелчке на элементе transcluded внутри директивы AngularJS
Для начала, вот моя директива код, который довольно такой же, как тот, в предыдущем учебнике:
//here, app is an AngularJS module
app.directive('modal', function() {
return {
restrict: 'E',
scope: {
show: '='
},
replace: true,
transclude: true,
link: function(scope) {
scope.hide = function() {
scope.show = false;
document.body.classList.remove('wwf-noScroll');
};
},
template: '<div class="Modal" ng-show="show"><div class="Modal-overlay" ng-click="hide()"></div><button class="Modal-close" ng-click="hide()"></button><div class="Modal-content" ng-transclude></div></div>'
};
});
Тогда вот как я использую его:
<modal show="showInformationsModal">
<h2 class="Modal-title">Informations</h2>
<button type="button">Close this</button>
</modal>
то, что я хочу достигнуть, будучи в состоянии закрыть модальный (то есть. вызвать функцию, определенную в области действия директивы hide
). Но я не могу поместить кнопку в шаблон моей директивы, потому что иногда мне нужна кнопка в модальном ее закрытии, но иногда нет, а текст внутри этой кнопки никогда не будет прежним.
Я попробовал некоторые вещи, как:
<button type="button" ng-click="hide()">Close this</button>
<button type="button" ng-click="showInformationsModal = false">Close this</button>
<button type="button" ng-click="show = false">Close this</button>
Ничего не работало. Кажется, я что-то упускаю! Может кто-нибудь мне помочь?
Спасибо,
Сирил
Вы все равно можете поместить кнопку в шаблон своего модального объекта и просто скрыть ее, когда вы не хотите, чтобы она была закрыта таким образом, а также динамически генерирует текст либо через атрибут, либо какую-то логику в вашем модульном контроллере , Разве это не сработает? – SamHuckaby
Можете ли вы модальный код в jsfiddle. Мы сможем помочь в гораздо лучшем ... – mechanicals
Вот код с кодом: http://codepen.io/JesmoDrazik/pen/NqZLYR – Cyrille