Я работаю над этим весь день, и я застрял. У меня есть модальный/диалог, который появляется при нажатии на div (div находится в той части таблицы im, которая пытается создать параметры сортировки). Функция div запускает ng-click и устанавливает переменную $ scope в true или false. Мне нужно, чтобы модальная была скрыта, когда где-нибудь за пределами div. Кроме того, есть несколько div, которые показывают модальный. Если щелкнуть другой div, скройте текущий модальный и снова покажите модальное значение с этой областью $.
<table>
<thead>
<th>Category 1 <div class="optionbox" ng-click="showModal($event)"></th>
<th>Category 2 <div class="optionbox" ng-click="showModal($event)"></th>
<th>Category 3 <div class="optionbox" ng-click="showModal($event)"></th>
</thead>
</table>
У меня есть директива для модального, которая отслеживает это значение, установленное showModal() и отображает.
$scope.showModal = function(event){
$scope.isModalVisible = !$scope.isModalVisible;
}
Модальная директива:
angular.modal('app', []).directive('modal', function(){
return {
templateUrl : ...,
restrict : 'E',
link : function($scope, element, attrs){
...
$scope.$watch('isModalVisible', function(newVal, oldVal){
if(newVal){
element.slideUp(1000);
}else{
element.slideDown(1000);
}
}
}
Тесная модальная директива (устанавливается в качестве атрибута в модальном шаблоне)
angular.modal('app', []).directive('globalModalClose', function(){
return {
link : function($scope, element, attrs){
$document.on('click', function(){
if(element.find('event.target').length() < 1){
element.hide()
}
});
}
I может отсутствовать несколько вещей здесь, но здесь» мой вопрос. Мой клик по div показывает модальный, затем мгновенно закрывает его. Это связано с тем, что моя функция showModal вызывается перед моим слушателем $ document.on. Могу ли я либо 1) получить первое нажатие на клик, либо 2) что-то еще ...
Спасибо за ваш aanswer Я буду тестировать его как можно скорее. Мне также нужно всплывающее окно, чтобы закрыть и снова открыть, когда выбран другой div. Любые идеи? –
Нужно немного больше деталей, чтобы уйти. Не могли бы вы объяснить больше? – Ryan
Разделение - это раздел на
Смежные вопросы