2014-06-11 12 views
14

Ho un'app angolare e voglio in un modello aggiungerne altri come div. ng-include sembrava una scelta perfetta.ng-include compila un commento

In main.html

<div id="page-wrapper"> 
<div ng-include src="'/partials/module.html'"></div> 
</div> 

In module.html

<div class="module"> 
<h1>Module</h1> 
</div> 

Tutti i file vivono nella parziali cartella in app.

Quando si esegue questo, nel luogo nel codice html, ho <!-- ngInclude: -->, e sostituendo i div in main.html con l'supportati anche ng-include tag, si compila a <!-- ngInclude: undefined -->.

Qualcuno sa quale potrebbe essere il problema?

+2

Controllare il traffico di rete, vedere dove va la richiesta HTTP per '/ partials/module.html'. Probabilmente non è il percorso corretto. Dovrebbe essere relativo alla radice dell'app e suppongo che non lo sia. – ivarni

+0

puoi pubblicare un jsfiddle del codice che causa questo problema? – CuriousMind

+0

Controlla il percorso se stai eseguendo in localhost, prova ad eseguire localhost: 8080/partials/module.html, questo dovrebbe mostrare l'html corretto. – Skeptor

risposta

15

Si utilizza solo src = "" quando si utilizza ng-includere come elemento:

<ng-include src="'/partial.html'"></ng-include> 

Quando si utilizza ng-comprendono come un attributo, si mette l'URL parziale nel dell'attributo stesso:

<div ng-include="'/partial.html'"></div> 

Vedere https://docs.angularjs.org/api/ng/directive/ngInclude per i due casi d'uso.

+0

Io uso la seconda opzione ma la compilo ancora per commentare. Quando metto il div direttamente nel codice HTML funziona. – igreen

-1

Deve essere un problema di ambito. Assicurati che l'oggetto $scope sia passato correttamente e non dimenticare di includere i controller e i servizi relativi al parziale nella tua pagina principale!

5

Dopo ore che ho risolto per il mio, si tratta di utilizzare le virgolette singole utilizzando tra virgolette.

<!--it will not work--> 
<ng-include src="views/header.html"></ng-include> 

<!--it will work :)--> 
<!--Difference is single quotes along with double quotes around src string--> 
<ng-include src="'views/header.html'"></ng-include> 
+0

Non so perché hai downvoted ma questo ha risolto il mio problema. Grazie. – reika