Vamos dizer que eu tenho o seguinte html em que masterdir e innerdir são diretivas personalizadas:
<div master-dir>
<div inner-dir ng-repeat="x in set"></div>
</div>
Como posso fazer as diretivas executar na seguinte ordem (sem usar $ timeout, "porque parece feio para mim):
- ng-repeat
- n vezes innerdir
- masterdir
Fundo: Eu quero alterar o dom em todas as diretivas e as diretivas dependem umas das outras (o desejo interno deve alterar o dom que a repetição produz e o mestre deve alterar o dom produzido por innerdir)
Eu tentei com prioridade, exigem e pre / post / compile, mas eu não encontrei o mix correto. Eu estou realmente sem idéias neste momento.
Respostas:
0 para resposta № 1Dentro https://docs.angularjs.org/guide/compiler eles dizem isso, mas nenhum gráfico está lá. De qualquer forma, descobri que em cada página docs da diretiva, na seção Diretiva de Informações, aparece a prioridade escrita assim (para ng-repeat):
ng-repeat:
Informação da Diretriz
Esta diretiva cria um novo escopo.
Esta diretiva é executada no nível de prioridade 1000.
Eu também achei o próximo link que parece ser muito útil. Eu ainda estou lendo tentando aprender (não sei muito sobre prioridades angulares). Espero que isso seja útil para você também.