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">
<html> <div ng-app> ... </div> </html>
- MVC
Per poter sfruttare al meglio le potenzialità di un framework come angular, che supporta il design di programmazione MVC ( Model View Controller )
- Un modello contenente i dati
- La vista che rappresenta / mostra all'utente
- Un controller che gestisce le relazioni tra il modello di dati e la sua rappresentazione.
Potete creare il vostro modello utilizzando gli attributi degli oggetti o anche solo dei tipi primitivi contenenti i vostri dati. Niente di speciale al riguardo, se volete mostrare del testo all'utente potreste avere una stringa tipo:
var stringaTesto = 'lorem ipsum';
Creerete le vostre viste scrivendo un template HTML inserendoci i dati derivati dal modello: ad esempio, inserendo un placeholder nel DOM:
<body ng-controller="TextController"> <p>{{stringaTesto}}</p> </body>
Le doppie parentesi graffe sono il modo in cui si inseriscono le interpolazioni tra i modelli e le viste all'interno di un template.
I controller invece sono classi scritte per dire ad Angular quali oggetti o primitive compongono il modello, assegnando loro l'oggetto $scope passato nel vostro controller:
function TextController($scope) { $scope.stringaTesto = stringaTesto; }
Invece di una semplice primitiva, potreste creare un oggetto che contenga i vostri dati:
var messaggi = {}; messaggi.stringaTesto = 'lorem ipsum'; function TextController($scope) { $scope.messaggi= messaggi; }
Anche se questo va bene per l'esempio, il modo migliore di procedere è fare in modo che il controller sia parte di un modulo, che preveda un "namespace" per le parti correlate della vostra applicazione
<html ng-app='myApp'> <body ng-controller='textController'> <p>{{stringaTesto.message}}</p> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script> <script> var myAppModule = angular.module('myApp' , []); myAppModule.controller('textController', function($scope) { var stringaTesto = {}; stringaTesto.message = 'lorem ipsum'; $scope.stringaTesto = stringaTesto; }); </script> </body> </html>