Angularjs – Directives multiples sur l'élément avec une portée isolée

Se demandant si quelqu'un peut expliquer le comportement actuel.

J'ai une directive avec portée isolée, appelez-la dirA. J'ai ensuite posé une autre directive, dirB. En attendant la deuxième directive pour obtenir chaque champ d'application de la directive isolée.

DirB obtient la portée du contrôleur. Pourquoi n'aurait-il pas la même portée isolée que dirA crée pour cet élément?

Merci pour toute aide. Je n'ai vraiment aucun code pour cela, juste curieux. Si quelqu'un a besoin de deux petites directives et de certains html pour aider à visualiser, je vais bien sûr. Je vous remercie.

Ce que vous observez est correct et ce comportement est par conception.

Lorsqu'une directive demande une portée isolée, AngularJS crée une marge de manœuvre pour cette directive spécifiquement, pas pour l'élément sur lequel la directive est déclarée. En d'autres termes, l'isolement est par directive, non par élément. Cela rend le codage de directives réutilisables et autonomes beaucoup plus facile que si l'on doit se prémunir contre l'utilisation incorrecte du champ d'application isolé à partir d'autres directives.

Toutes les autres directives déclarées sur le même élément partagent la portée externe. (Il est également intéressant de noter que ces directives ne peuvent même pas demander leur propre portée, isolées ou non. Bien que ce comportement ne soit pas garanti avant 1.3 par un bug, il est déjà fixé en 1.3).