Sto cercando di mantenere i miei controller il più sottili possibile, quindi mantengo la logica del dominio nei servizi e nelle fabbriche.
Quando devo chiamare una funzione in risposta a un'azione dell'utente come un clic, assegno la funzione di fabbrica o di servizio alla variabile $scope
del controller.
$scope.saveStuff = myFactory.SaveStuff;
myFactory.SaveStuff
chiama effettivamente un gruppo di funzioni private che $scope
non può vedere. Sono rimasto un po 'sorpreso dal fatto che una chiamata a $scope.saveStuff
non abbia comportato errori di riferimento.
Come funziona? $scope.saveStuff
è solo un puntatore a myFactory.SaveStuff
? Significa che $scope.saveStuff
è in realtà in esecuzione all'interno dell'ambito di myFactory
, quindi ha accesso a qualsiasi dato / funzione privato all'interno di myFactory
?