AngularJS: Qual è la relazione tra un ambito di isolamento e un campo di applicazione in Transclude per una raccolta della stessa direttiva

StackOverflow https://stackoverflow.com//questions/21007903

Domanda

Una piccola domanda su $$ Nextsibling. Ho visto molti articoli simili a Questo quello che dice che la relazione tra una direttiva con l'ambito dell'isolato e la portata del Transclude è attraverso $$ Nextsibling. Questo sembra essere corretto se c'è solo un'istanza della direttiva. Tuttavia, ho una direttiva sulla raccolta che contiene articoli che sono anche direttive ad es.

<items><item id="1"/><item id="2"/></items>

E questo crea 4 ambiti da fratello ma in questo ordine: Item 1 Isolato, Item 2 Isolato, Item 1 Transclude, Item 2 Transclude. In questo caso hai bisogno di $$ Nextsibling. $$ Nextsibling che è molto insoddisfacente.

C'è un modo più pulito per fare riferimento tra gli scopi isolati e transclude?

Sto cercando di fare controlli autonomi che "emetti" i messaggi da ricevere dalla prima direttiva madre che ascolta per quel messaggio. Sto cercando che i messaggi sono ricevuti dalla portata del Transclude del genitore e non sull'ambito dell'isolato (che capisco e va bene). Il problema arriva perché il mio genitore controlla il "modello" è sull'ambito dell'isolato, quindi l'azione dopo aver ricevuto il messaggio significa interazione tra la portata Transclude e l'ambito dell'isolato - normalmente tramite $$ Nextsibly. Tuttavia, come descritto sopra questo non è prevedibile una volta che inizi ad avere raccolte.

Grazie.

È stato utile?

Soluzione

La risposta a questa è la versione dipendente.Stavo correndo il V1.2.0 di Angular.In questa versione Gli ambiti di frablli non sono ordinati correttamente in modo che $$ Nextsibling non sia affidabile. Dopo aver installato V1.2.7 Questo è ora fissato e gli scopi del fratello sono elencati nell'ordine corretto con lo scopo transclude sempre seguendo l'ambito dell'isolato.

Da una lettura iniziale del registro delle modifiche della versione non è immediatamente ovvio quale correzione risolta questo problema, quindi non sono sicuro di quale sia la prima versione dell'angolare che risolva questo problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top