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-includesoit 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.htmlpar 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-includeré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).