405 Stimmen

Was ist die korrekte Syntax von ng-include?

Ich versuche, ein HTML-Snippet innerhalb einer ng-repeat aber ich kann das Include nicht zum Laufen bringen. Es scheint, dass die aktuelle Syntax von ng-include ist anders als zuvor: Ich sehe viele Beispiele, die

<div ng-include src="path/file.html"></div>

Aber in der offizielle Dokumente heißt es, man solle

<div ng-include="path/file.html"></div>

Aber dann die Seite runter es wird angezeigt als

<div ng-include src="path/file.html"></div>

Trotzdem habe ich versucht

<div ng-include="views/sidepanel.html"></div>

<div ng-include src="views/sidepanel.html"></div>

<ng-include src="views/sidepanel.html"></ng-include>

<ng-include="views/sidepanel.html"></ng-include>

<ng:include src="views/sidepanel.html"></ng:include>

Mein Snippet ist nicht sehr viel Code, aber es ist eine Menge los; ich lese in Dynamisches Laden von Vorlagen innerhalb ng-repeat dass dies ein Problem verursachen könnte, also habe ich den Inhalt von sidepanel.html nur mit dem Wort foo und immer noch nichts.

Ich habe auch versucht, die Vorlage direkt in der Seite wie folgt zu deklarieren:

<script type="text/ng-template" id="tmpl">
    foo
</script>

Und durch alle Variationen von ng-include mit Verweis auf das Skript id und immer noch nichts.

Meine Seite enthielt viel mehr, aber jetzt habe ich sie auf das hier reduziert:

<!-- index.html -->
<html>
<head>
<!-- angular includes -->
</head>
<body ng-view="views/main.html"> <!-- view is actually set in the router -->
    <!-- views/main.html -->
    <header>
        <h2>Blah</h2>
    </header>
    <article id="sidepanel">
        <section class="panel"> <!-- will have ng-repeat="panel in panels" -->
            <div ng-include src="views/sidepanel.html"></div>
        </section>
    </article>
<!-- index.html -->
</body>
</html>

Die Kopfzeile wird gerendert, aber meine Vorlage nicht. Ich erhalte keine Fehler in der Konsole oder von Node, und wenn ich auf den Link in src="views/sidepanel.html" in den Entwicklungswerkzeugen, führt es mich zu meiner Vorlage (und zeigt foo ).

7voto

Jackal Punkte 2431

Das hat bei mir funktioniert:

ng-include src="'views/templates/drivingskills.html'"

komplette div:

<div id="drivivgskills" ng-controller="DrivingSkillsCtrl" ng-view ng-include src="'views/templates/drivingskills.html'" ></div>

0voto

jayaweb Punkte 11

Versuchen Sie dies

<div ng-app="myApp" ng-controller="customersCtrl"> 
  <div ng-include="'myTable.htm'"></div>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
    $http.get("customers.php").then(function (response) {
        $scope.names = response.data.records;
    });
});
</script>

-1voto

Rohit Parte Punkte 2505

Bei ng-build tritt der Fehler Datei nicht gefunden (404) auf. Wir können also folgenden Code verwenden

<ng-include src="'views/transaction/test.html'"></ng-include>

anstelle von,

<div ng-include="'views/transaction/test.html'"></div>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X