2015-01-25 28 views
5

Ho 3 diversi frammenti di codice che vorrei scambiare a seconda della selezione in un menu di selezione.Interruttore JS ng angolare con ng-include?

Funziona se comprendo il codice inline, ma quando provo ad usare ng-include in questo modo, si ottiene un errore angolare e l'applicazione non riesce:

 <div ng-switch on="pFilter"> 
     <div ng-include="'includes/parcel_details_incoming.html'" ng-switch-when="Incoming Parcels"></div> 
     <div ng-include="'includes/parcel_details_forward.html'" ng-switch-when="Exception Parcels"></div> 
     <div ng-include="'includes/parcel_details_exception.html'" ng-switch-default></div> 
     </div> 

che cosa sto facendo male qui? Ng-switch non funziona con ng-include?

risposta

7

Il motivo sono entrambe le direttive ng-include e ng-switch-x utilizzare la transclusione e si specifica sia sullo stesso elemento che non è consentito. Spostare nginclude al figlio dell'elemento ng-switch.

<div ng-switch on="pFilter"> 
     <div ng-switch-when="Incoming Parcels"><div ng-include="'includes/parcel_details_incoming.html'"></div></div> 
     <div ng-switch-when="Exception Parcels"><div ng-include="'includes/parcel_details_forward.html'"></div></div> 
     <div ng-switch-default><div ng-include="'includes/parcel_details_exception.html'"></div></div> 
    </div> 

Ciò usata per funzionare fino alla versione 1.x angolare ma inclusione composto provocherà MULTIDIR errore partendo versione 1.2.x di angolare. Dai uno sguardo allo change log e questo commit.