Un controller non deve:
le direttive fanno questo.
meglio usare gli Angular form
(compito dei filtri)
$broadcast(name, args);
Invia un evento name verso il basso attraverso la gerarchia di applicazione, notificandolo ai listener registrati nello $rootScope.
Tutti i listener in ascolto per gli eventi name su questo ambito vengono notificati. In seguito, l'evento si propaga a tutti gli scope diretti e indiretti dello scope attuale e chiama tutti i listener registrati lungo la strada. L'evento non può essere cancellato.
$emit(name, args);
Invia un evento name verso l'alto attraverso la gerarchia di applicazione, notificandolo ai listener registrati nello $rootScope Il ciclo di vita dell'evento inizia nell'ambito su cui $ emit è stato chiamato.
Tutti i listener in ascolto per gli eventi name su questo ambito vengono notificati. In seguito, l'evento attraversa verso l'alto verso il campo di applicazione dello scope root e chiama tutti gli ascoltatori registrati lungo la strada.
Lo Scope è un oggetto che fa riferimento al modello dell'applicazione: è il collante tra il controller e la view, contesto di esecuzione per le espressioni angular.
Gli Scope sono disposti nella struttura gerarchica ad imitazione della struttura DOM dell'applicazione e possono ospitare l'esecuzione delle espressioni angular e forniscono una funzionalità di ascolto sugli eventi emission/broadcast e possono propagarli.
Per informare Angular che il codice necessario è in un modulo, assegnamo lo stesso nome alla direttiva ng-app del modulo, poi al suo interno definiamo il controller di cui abbiamo bisogno, grazie al metodo controller()
1. Caricare la libreria ( che più che una libreria è un vero e proprio framework MVC per il frontend ) angularjs.js
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<html ng-app="myApp">
una libreria sviluppata sotto il patrocinio di Google, utile ad organizzare il nostro javascript (e sviluppare siti e applicativi davvero responsivi,veloci e "leggibili"),
un corso On line gratuito di code school:
http://campus.codeschool.com/