Professional Documents
Culture Documents
Expressions - Vues
Directives
Controllers / Scopes
Modles
Introduction
Angular.JS vous aide mieux organiser votre code Javascript pour
crer des sites web dynamiques.
<script src="https://ajax.googleapis.com/ajax/libs/
angularjs/1.5.0/angular.min.js"></script>
Cest tout!
Notion dAPI
lavenir, vous pourrez crer ct serveur une API qui permettra
dmettre des donnes et que les dveloppeurs externes ou
applications tierces puissent puiser leurs ressources partir de votre
API
<!doctype html>
<html ng-app="myModule">
<head>
...
Modules
Portions de code de notre application Angular.
angular.module("myModule", ["firebase"])
Rappel Modle MVC
request
Controller
CRUD binding
response
data
Model Vue
Controller
L o lon dfinit nos fonctionnalits avec des fonctions et valeurs.
app.js
myModule.controller("PostsCtrl", function($scope) {
// Les choses srieuses commencent ici
});
Controller - $scope
La variable scope sert attacher des variables pour les utiliser dans
la vue qui utilise le controller.
myModule.controller("PostsCtrl", function($scope) {
$scope.posts = [
{ name: "Le welsh", desc: "C'est dlicieux" },
{ name: "Les Macs", desc: "C'est la vie" }
];
});
Controllers - fonctions
Chaque controller peut donc avoir plusieurs fonctions qui lui sont
propres.
$scope.addTodo = function(){
console.log("Un nouvel article a t post");
var post = {name: "Nouvel article"};
//Code pour ajout du nouvel article (push?)
Expressions et vue
Ct vue, cest similaire Twig avec Symfony, vous pouvez bind des
paramtres, faire des calculs, des conditions etc
<div ng-controller="PostsCtrl">
{{ posts[0].name }}
</div>
<ul>
<li ng-repeat="post in posts">
<strong>{{ post.name }}</strong>:
<span>{{ post.desc }}</span> Boucle
</li>
</ul>
$scope.posts = [ controller.js
new Post("Le welsh", "C'est dlicieux"),
new Post("Another entity", "C'est la vie")
];
Modles
Exemple dutilisation dune entit avec ng-model
Permet de binder une valeur HTML dans le $scope du
contrleur et lactualisation se fait en direct !
Crer un modle avec une entit Produit qui prend un titre, une description et
un prix.
Penser bien sparer pour une architecture MVC correcte vos contrleurs, vues
et models (des noms de dossiers explicites suffiront)
https://angularjs.org
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/
Array/unshift
http://www.w3schools.com/angular/tryit.asp?filename=try_ng_model_two-way