Ich habe ein Menü, das erscheint, wenn ich auf eine Schaltfläche klicke. Nun, in dieses Menü habe ich Paare von Spannen: Icon-Titel. Ziemlich einfach, schätze ich.Ng-Klick funktioniert nicht in div
Nun, irgendwie diese Bereiche meine Controller-Methode nicht aufrufen, wenn ich auf sie klicke. Ich habe versucht, diese Paare in divs zu verpacken und den ng-Klick darauf zu setzen, aber das funktioniert auch nicht.
Das ist mein Kontextmenü:
<div class="opciones" ng-hide="optionsHide">
<div>
<span class="glyphicon glyphicon-lock icono"></span> <span class="optionsLabel">Encrypt</span>
</div><br>
<div ng-click="removeNote()">
<span class="glyphicon glyphicon-trash icono"></span><span class="optionsLabel"> Delete</span><br>
</div><br>
<div>
<span class="glyphicon glyphicon-wrench icono"></span><span class="optionsLabel"> Options</span>
</div>
</div>
Derzeit bin ich konzentrierte sich nur auf die "RemoveNote()" Funktion. Ich habe sowohl eckige als auch Knoten-Methoden zum Testen bereit, aber ich kann sie einfach nicht verwenden, da ich den Klick nicht ausführen kann.
Dies ist die Funktion, innerhalb des Arbeits Controller:
$scope.removeNote = function(){
$http.post('/removeNote', $scope.mainNote).success(function(data){
console.log("Note removed");
console.log(data);
loadNotes();
}).error(function(err){
console.log("ERROR ON DELETE");
console.log(err);
});
}
Warum ng-Klick diese Funktion nicht aufrufen? Fehle ich etwas?
edit:
Steuererklärung:
Ober Controller:
app.controller('mainCtrl', ['$scope', '$http', '$filter', 'focus', function($scope, $http, $filter, focus){
Inner:
app.controller('contentCtrl', ['$scope', '$q', '$timeout', function($scope, $q, $timeout) {
Verwendung:
<body ng-controller="mainCtrl" ng-cloak>
// Things
<content ng-controller="contentCtrl">
// My contextual menu as shown above
Eigentlich ist diese Methode in einem anderen Controller (ja, zwei verschachtelte Controller), aber der Rest der vererbten Funktionen funktionieren ordnungsgemäß; der einzige, der nicht funktioniert, ist dieser. Wie auch immer, ich sehe immer den normalen Zeiger, wenn ich die Maus auf mein div/Paar von Spannen setze, so dass es überhaupt nicht angewendet wird (ich kann es in der HTML-Konsole sehen).
Meine erste Vermutung ist, dass Sie einen Fehler erhalten, weil "Erfolg" in Ihrem $ http.post Callback falsch geschrieben ist. Überprüfen Sie Ihr Konsolenprotokoll. – Rob
Nur fix und bearbeitet, dass Tippfehler, aber danke! Das ist sowieso nicht das Problem, da die Methode nie aufgerufen wird. – Zerok
Wie sieht die Deklaration Ihres Controllers aus und wo ist der Controller in Ihrem HTML-Code festgelegt? Vielen Dank! – aaronofleonard