La funzione che definisce il controller ha un parametro $scope.
Questo parametro, che inizia con il dollaro ($) come tutti gli oggetti di sistema, viene passato dal framework al controller ed è un oggetto condiviso con la view.
Il compito dello scope è di consentire la definizione del modello dei dati e la sua esposizione alla view.
Tutte le proprietà di questo oggetto saranno direttamente accessibili dalla view, come avviene nel nostro esempio per nome e cognome legati alla view tramite la direttiva ng-model.
In linea di massima è preferibile definire il modello dei dati come un oggetto dello scope, invece che una serie di proprietà.
Oltre alle proprietà lo scope è in grado di esporre anche i propri metodi alla view.
Ad esempio, un metodo metodo() come mostrato di seguito:
angular.module("myApp", [])
.controller("userController",
function($scope) {
$scope.utente = { nome: "Mario", cognome: "Rossi"};
$scope.metodo = function() {
return "qualcosa"
};
});
Utilizzeremo questo metodo nel punto in cui vogliamo visualizzare il saluto: