Ich muss eine Variable an einen anderen Controller übergeben. Ich habe den folgenden Code, der den ListCtrl verwendet ist:Angular ng-click mit Aufruf einer Controller-Funktion funktioniert nicht
<a href="#items" data-router="article" ng-click="changeListName('metro')">
Die Verbindung zu einem anderen Controller wird, ItemCtrl.
Ich möchte eine Variable an die ItemCtrl übergeben. Ich dachte, ein Dienst namens SharedProperties der Verwendung:
service('sharedProperties', function() {
var list_name = '';
return {
getListName: function() {
return list_name;
},
setListName: function(name) {
list_name = name;
}
};
});
Wenn der Link angeklickt wird, nenne ich einen Winkel Click-Ereignis die folgende Funktion auslösen:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
jedoch die ng-Klick scheint nicht den Wert meiner gemeinsamen Grundstück ...
UPDATE
ich in der f einen Alarm setzen sich ändern wird durch ng-click ausgelöst und der Alarm wird ausgelöst, wie es sein sollte.
Allerdings, wenn ich meine Funktion wie folgt schreiben:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
Es funktioniert nicht ... es sieht aus wie 'sharedProperties.setListName (name);' nicht ausgeführt ...
ist, wenn ich es außerhalb der Funktion mit einem Dummy-Namen setzen (z. B. U-Bahn), es funktioniert ..
UPDATE 3
versuchte ich mehrere Dinge, und ich bin ziemlich sicher, dass das Problem mit dieser Funktion ist:
$scope.changeListName = function(list_name) {
sharedProperties.setListName(list_name);
};
Haben Sie eine Idee, warum das passiert?
Es sieht so aus, als ob sowohl 'ng-ref' als auch' href' 'ng-click' ausgelöst werden und meine Funktion auslöst. Ich habe meine Antwort aktualisiert, um mein Problem besser widerzuspiegeln. –
Stellen Sie jetzt eine separate Frage? – lucuma
Nein, mein Problem ist nicht gelöst. –