Desidero scegliere quale direttiva utilizzare in base a una variabile. Nello specifico, ho elementi di diversi tipi in una lista, quindi mi piacerebbe usare il tipo di oggetto per scegliere la direttiva che può visualizzarlo.Scelta condizionale della direttiva
ng-switch sembra destinato a questo scopo. Tuttavia, aggiunge tutte le opzioni dell'interruttore nel DOM, quindi nasconde tutte tranne una. Questo approccio sembra inefficiente se ci sono molti tipi di articoli o una lunga lista da visualizzare. Inoltre, l'utilizzo di un interruttore inserisce la logica nell'HTML. Preferito sarebbe un 'modello di strategia' che basta scegliere la direttiva destra, forse come
<display-{{item.type}} data="item.data" />
in cui le direttive sono 'displayType1', 'displayType2', e così via. Tuttavia, questa sintassi sembra non funzionare, forse a causa della differenza tra le fasi di compilazione e di collegamento. Here è un esempio che cambia i template html all'interno di una direttiva. Ma c'è un modo per cambiare le direttive, mantenendo la loro modularità?
Dai un'occhiata a questo. Ci ho provato un po 'di tempo fa. Fondamentalmente si crea un modello da ogni direttiva. http://stackoverflow.com/questions/14643601/angularjs-how-to-have-a-directive-with-a-dynamic-sub-directive/14648641#14648641 – Chandermani
Chandermani, la tua soluzione ha funzionato per me. Grazie! Se la promuoverai a una risposta, la contrassegnerò come accettata. – CodeGuy2001