Priorité
La priorité n'est utile lorsque vous avez plusieurs directives sur un seul élément. La priorité détermine dans quel ordre ces directives seront appliquées/commencé. Dans la plupart des cas, vous n'auriez pas besoin d'une priorité, mais parfois, quand vous utilisez la compilation de la fonction, vous voulez vous assurer que votre compilation de la fonction s'exécute en premier.
Terminal
Le terminal de la propriété est également à seulement pertinente pour les directives qui se trouvent sur le même élément HTML. C'est, si vous avez <div my-directive1></div> <div my-directive2></div>
, priority
et terminal
dans vos directives my-directive1
et my-directive2
n'affectera pas les uns les autres. Ils n'affectent les uns les autres si vous avez <div my-directive1 my-directive2></div>
.
Le terminal de propriété dit Angulaire de sauter toutes les directives sur l'élément qui vient après lui (faible priorité). Donc, ce code pourrait clair:
myModule.directive('myDirective1', function() {
return {
priority: 1,
terminal: false,
link: function() {
console.log("I'm myDirective1");
}
}
});
myModule.directive('myDirective2', function() {
return {
priority: 10,
terminal: true,
link: function() {
console.log("I'm myDirective2");
}
}
});
myModule.directive('myDirective3', function() {
return {
priority: 100,
terminal: false,
link: function() {
console.log("I'm myDirective3");
}
}
});
Pour cela, vous ne consultez "je suis myDirective2" et "je suis myDirective3" dans la console.
<div my-directive1 my-directive2 my-directive3></div>
Mais pour cela, vous pouvez voir "je suis myDirective1" ainsi, puisqu'ils sont sur différents éléments.
<div my-directive1></div>
<div my-directive2></div>
<div my-directive3></div>
Post Original
Dans votre exemple, les directives de priorité, avec 100 et 1000 sont les seuls qui sera appliqué, depuis une directive de plus haute priorité sont appliqués d'abord, donc la seule priorité 1000 sera d'abord appliquée.
Si vous avez deux directives, la priorité 100 dans ce cas, les deux d'entre eux seront appliquées parce que l'ordre des directives avec la même priorité n'est pas défini.
Notez que cela s'applique uniquement aux directives qui sont sur le même élément.