Devo passare una variabile a un altro controller. Ho il seguente codice che è correlato al ListCtrl:Angolare ng-clic con chiamata a una funzione del controller non funzionante
<a href="#items" data-router="article" ng-click="changeListName('metro')">
Il collegamento sta andando a un altro controller, ItemCtrl.
Voglio passare una variabile a ItemCtrl. Ho pensato di utilizzare un servizio chiamato SharedProperties:
service('sharedProperties', function() {
var list_name = '';
return {
getListName: function() {
return list_name;
},
setListName: function(name) {
list_name = name;
}
};
});
Quando il link viene cliccato, io chiamo un evento click angolare per attivare la seguente funzione:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
Tuttavia, il ng-click non sembra per modificare il valore della mia proprietà condivisa ...
UPDATE
ho messo un avviso all'interno del f unzione attivata da ng-clic e l'avviso viene attivato, come dovrebbe essere.
Tuttavia, quando scrivo la mia funzione come questa:
$scope.changeListName = function(name) {
sharedProperties.setListName(name);
};
Non funziona ... sembra 'sharedProperties.setListName (nome);' non viene eseguita ...
Se lo metto fuori della funzione con un nome fittizio (ad es. metro), funziona ..
UPDATE 3
ho provato più cose e io sono abbastanza fiducioso che il problema è con questa funzione:
$scope.changeListName = function(list_name) {
sharedProperties.setListName(list_name);
};
Avete qualche idea del perché questo sta accadendo?
Sembra sia con 'ng-ref' che' href', 'ng-click' viene attivato e attiva la mia funzione. Ho aggiornato la mia risposta per riflettere meglio il mio problema. –
Stai facendo una domanda separata adesso? – lucuma
No, il mio problema non è risolto. –