Muszę przekazać zmienną do innego kontrolera. Mam następujący kod związany z ListCtrl:Kątowe kliknięcie z wywołaniem funkcji kontrolera nie działa
<a href="#items" data-router="article" ng-click="changeListName('metro')">
Łącze przechodzi do innego kontrolera, ItemCtrl.
Chcę przekazać zmienną do ItemCtrl. Myślałem o użyciu usługę o nazwie SharedProperties:
service('sharedProperties', function() {
var list_name = '';
return {
getListName: function() {
return list_name;
},
setListName: function(name) {
list_name = name;
}
};
});
Po kliknięciu linku, wzywam kątowego kliknij zdarzenie wywoła następującą funkcję:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
Jednak ng-click nie wydaje aby zmienić wartość z moim osiedlu ...
UPDATE
kładę alert wewnątrz f Nałożenie uruchomione przez ng-kliknięcie powoduje uruchomienie alarmu, tak jak powinno być.
Jednak, gdy piszę funkcję tak:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
To nie działa ... to wygląda 'sharedProperties.setListName (nazwa);' nie jest wykonywany ...
Jeśli mogę umieścić go na zewnątrz funkcji z manekina nazwy (np. metra), to działa ..
UPDATE 3
Próbowałem wielu rzeczy i jestem całkiem pewni, że problem dotyczy tej funkcji:
$scope.changeListName = function(list_name) {
sharedProperties.setListName(list_name);
};
Czy masz pojęcie, dlaczego tak się dzieje?
Wygląda na to, że zarówno z 'ng-ref' i' href', 'ng-click' jest wyzwalane i uruchamia moją funkcję. Zaktualizowałem swoją odpowiedź, aby lepiej odzwierciedlić mój problem. –
Czy zadajesz teraz osobne pytanie? – lucuma
Nie, mój problem nie został rozwiązany. –