J'essaie d'inclure un extrait HTML à l'intérieur d'un ng-repeat
, mais je ne parviens pas à faire en sorte que l'inclusion fonctionne. Il semble que la syntaxe actuelle de ng-include
soit différente de ce qu'elle était auparavant: je vois de nombreux exemples utilisant
<div ng-include src="path/file.html"></div>
Mais dans les documents officiels , il est dit d'utiliser
<div ng-include="path/file.html"></div>
Mais en bas de la page, il apparaît comme
<div ng-include src="path/file.html"></div>
Quoi qu'il en soit, j'ai essayé
<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>
Mon extrait de code n'est pas beaucoup de code, mais il se passe beaucoup de choses; J'ai lu dans Dynamically load template insideng-repeat
que cela pouvait causer un problème, j'ai donc remplacé le contenu de sidepanel.html
par juste le mot foo
, et toujours rien.
J'ai également essayé de déclarer le modèle directement dans la page comme ceci:
<script type="text/ng-template" id="tmpl">
foo
</script>
Et en parcourant toutes les variantes de ng-include
référencement des scripts id
, et toujours rien.
Ma page en avait beaucoup plus, mais maintenant je l'ai réduite à ceci:
<!-- 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>
L'en-tête s'affiche, mais pas mon modèle. Je ne reçois aucune erreur dans la console ou dans Node, et si je clique sur le lien dans les src="views/sidepanel.html"
outils de développement, cela m'amène à mon modèle (et s'affiche foo
).