Compiler :
C'est la phase où Angulaire en fait la compilation de vos directive. Cette compilation fonction n'est appelée qu'une seule fois pour chacune des références à la directive donnée. Par exemple, dire que vous êtes à l'aide de la ng-repeat directive. ng-repeat aura pour rechercher l'élément, il est attaché, extrait le fragment html qu'il est attaché à et de créer une fonction de modèle.
Si vous avez utilisé le Guidon, le trait de soulignement de modèles ou de l'équivalent, c'est comme la compilation de leurs modèles à extraire une fonction de modèle. Pour ce modèle de la fonction de vous transmettre les données et la valeur de retour de cette fonction est le html avec les données dans les bons endroits.
La phase de compilation, c'est que l'étape Angulaire qui renvoie la fonction de modèle. Ce modèle de la fonction angulaire est appelée la fonction de liaison.
La liaison de la phase :
Le lien entre la phase est l'endroit où vous fixez les données de dollars (champ d'application ) à la fonction de liaison et il devrait vous retourner le lié html. Depuis la directive précise également où la version html de ce qui se passe ou ce que cela change, c'est déjà bon pour aller. C'est la fonction de l'endroit où vous souhaitez effectuer des modifications liées html, j'.e le code html qui dispose déjà de données attaché à elle. Dans angulaire si vous écrivez du code dans la fonction de liaison de sa généralement l'après-fonction de lien (par défaut). Il est une sorte de callback qui est appelée après la fonction de liaison a lié les données avec le modèle.
Contrôleur :
Le contrôleur est un endroit où vous mettez dans certains directive logique spécifique. Cette logique peut aller dans la fonction de liaison en tant que bien, mais alors vous devez mettre cette logique sur la portée pour en faire un "partageable". Le problème avec cela est que vous serait alors de corrompre le champ d'application avec vos directives des trucs qui n'est pas vraiment quelque chose qui est attendue.
Alors, quelle est l'alternative si deux Directives envie de parler les uns aux autres / coopérer les uns avec les autres? Bien sûr, vous pouvez mettre tout ce que la logique dans un service, puis faire de ces deux directives dépendent de ce service, mais cela apporte un plus à la dépendance. L'alternative est de fournir un Contrôleur pour cette portée ( généralement isoler portée ? ) et puis ce contrôleur est injecté dans une autre directive que lorsque la directive "exige" que l'autre. Voir les onglets et les sous-fenêtres sur la première page de angularjs.org pour un exemple.