0

Итак, у меня есть индикатор выполнения, который при нажатии будет расширять полноэкранный режим. Я играю с угловыми пробными вещами, и я не могу заставить функционировать функцию закрытия кнопок. У меня есть ngClick на родительском, чтобы сначала показать кнопку закрытия, которая работает нормально! но тогда, когда я нажимаю кнопку закрытия ... ничего не происходит ... когда вы нажимаете кнопку закрытия, она должна скрывать кнопку закрытия .... в моем контроллере у меня есть переменная showClose, установленная в true ... думаю Theres некоторый обобщающий вопрос, что им не знают оУгловой родитель и ребенок ngHide на ngClick

вот фиктивная версия что happenening: http://codepen.io/anon/pen/GgMdRN?editors=101

<section ng-app="App"> 
    <div id="progress-container" ng-controller="ProgressCtrl"> 
     <div class="progress-bar" ng-click="showClose = false"> 
     <div class="close" ng-hide="showClose" ng-click="showClose = true" >Close</div> 
     </div> 
    </div> 

</section> 
+0

Проблема заключается в том, что при нажатии на внутренней DIV, то два нг нажмите дозвонились. – satchcoder

ответ

1

То, что вы видите, является распространение события, которое вызывает событие ребенка нажмите пузыри до его родительских контейнеров , В результате вы увидите, что все обработчики событий родительских кликов запущены.

Это должно решить вашу проблему.

Сценарий:

$scope.onClickClose = function(e){ 
    $scope.showClose = true; 
    e.stopPropagation(); 
} 

Html:

<div class="progress-bar" ng-click="showClose = false"> 
     <div class="close" ng-hide="showClose" ng-click="onClickClose($event)" >Close</div> 
     </div> 
+0

AHHHHH .... я сделал это двадцать раз, но я не пропускал $ event в вызове ngClick .... Большое вам спасибо – Ryan

Смежные вопросы