Ich bin ziemlich neu in Angular, so dass ich noch nicht alle seine kleinen Macken herausgefunden habe. Zur Zeit habe ich eine Schaltfläche, die ein Overlay mit ng-click = "open()" öffnet. Innerhalb des Overlays befindet sich eine weitere Schaltfläche, die das Overlay mit ng-click = "close()" schließt.10 Angular child ng-click-Ereignis wird nicht ausgelöst, nachdem die Eltern ng-click-Ereignis
Wie es jetzt aussieht, werden die ng-click Ereignisse nicht ausgelöst, wenn der andere in der Ansicht vorhanden ist. Wenn ng-click = "open()" vorhanden ist, wird ng-click = "close()" nicht ausgelöst und umgekehrt.
Hier ist eine einfachere Version von dem, was ich rede, wie das, was ich arbeite ist ein wenig kräftig auf dem tatsächlichen App:
Ansicht
<button ng-click="open()">Open</button>
<div id="overlay">
<button ng-click="close()">Close</button>
</div>
-Controller
$scope.open = function(){
//some move.js to open the overlay
}
$scope.close = function(){
//some move.js to close the overlay
}
Das Overlay wird nicht dynamisch generiert und wird auf der Seite onload gerendert.
Hier ist die Lösung, wie sie von @sz technic zur Verfügung gestellt wird. Nicht die $ compile-Methode. http://codepen.io/NicholasByDesign/pen/WwqMXa?editors=1010
Nur eine Art Randnotiz, wie ich glaube nicht, dass es einen Unterschied machen wird. Ich arbeite in einer nodejs- und jade-Umgebung. Ich habe es als normales HTML eingegeben und den Controller-Code weggelassen, der die Funktionen zum Öffnen/Schließen umschließt, um die Dinge zu vereinfachen.
Können Sie einfache Demo reproduzieren? –
Durch Überlagerung beziehen Sie sich auf die modale Box, die sich öffnet? Wenn dies der Fall ist, werden die Steuerelemente gesperrt, wenn Overlay angezeigt wird. – Sajal
@MedetTleukabiluly Ich habe meine Antwort mit einer einfachen Demo aktualisiert, was ich meine. – NicholasByDesign