2014-06-11 7 views
14

Ich habe eine eckige App, und möchte in einer Vorlage, andere als divs hinzufügen. ng-include schien eine perfekte Wahl zu sein.ng-Include kompiliert zu einem Kommentar

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> 

Alle Dateien im partials-Ordner in der App leben.

Wenn ich dies an der Stelle im HTML-Code ausführen, bekomme ich <!-- ngInclude: -->, und ersetzen die divs in main.html mit der auch unterstützt ng-include-Tag, kompiliert es zu <!-- ngInclude: undefined -->.

Weiß jemand, was das Problem sein könnte?

+2

Überprüfen Sie den Netzwerkverkehr, sehen Sie, wo die HTTP-Anfrage für '/ partials/module.html' geht. Es ist wahrscheinlich nicht der richtige Weg. Es sollte relativ zum Stamm der App sein, und ich vermute, dass es nicht ist. – ivarni

+0

können Sie eine Datei des Codes veröffentlichen, der dieses Problem verursacht? – CuriousMind

+0

Überprüfen Sie den Pfad, wenn Sie in localhost ausgeführt werden, versuchen Sie, localhost: 8080/partials/module.html auszuführen, dies sollte den richtigen HTML-Code anzeigen. – Skeptor

Antwort

15

Sie nur src verwenden = "" bei der Verwendung von ng-umfassen als Element:

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

Bei der Verwendung von ng-umfassen als ein Attribut, setzen Sie die partielle URL direkt im Attribute selbst:

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

Siehe https://docs.angularjs.org/api/ng/directive/ngInclude für die beiden Anwendungsfälle.

+0

Ich benutze die zweite Option, aber es kompiliert immer noch zu kommentieren. Wenn ich das div direkt in den html lege, funktioniert es. – igreen

-1

Es muss ein Bereichsproblem sein. Stellen Sie sicher, dass das $scope Objekt ordnungsgemäß übergeben wurde und vergessen Sie nicht, die Controller und Dienste, die zu den Partials gehören, in Ihre Hauptseite aufzunehmen!

5

Nach Stunden löste ich es für meins, es ist alles über die Verwendung von einfachen Anführungszeichen mit zwischen doppelten Anführungszeichen.

<!--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

Ich weiß nicht, warum Sie downvoted, aber das hat mein Problem gelöst. Vielen Dank. – reika