AngularJs Inclure Partielle Modèle
j'ai ceci dans mon fichier principal de mise en page
<body>
<header id="header" ng-controller="HeaderController"></header>
<div class="container" ng-view></div>
j'ai une tête.Modèle partiel html dans la structure de mon répertoire.
Comment inclure ce modèle dans mon application? Je pensais que angular incluait automatiquement le modèle après avoir traité le contrôleur, mais ça ne fonctionne pas.
le noeud d'en-tête doit être remplacé par le contenu de ce fichier.
2 réponses
une façon d'inclure les templates / fragments html des fichiers externes est d'utiliser le ng-include
directive ( doc).
<ng-include src="'/path/to/the/header.html'"></ng-include>
ou
<div ng-include src="'/path/to/the/header.html'"></div>
Angular 2
, ngInclude
a été supprimé et les directives personnalisées sont préférées. C'est la façon dont j'arrive avec
définissez le composant principal de votre application, lequel lien vers la page maître
@View({ templateUrl: 'client/app/layout/main.html', directives: [ROUTER_DIRECTIVES, Navigation, Footer] }) @Component({selector: 'app'}) @RouteConfig( routerConfig ) class MainComponent { }
Et c'est le principal modèle
<!---- Navigation bar ---->
<navigation></navigation>
<!----/ Navigation bar ---->
<!---- Main Part ---->
<router-outlet>
</router-outlet>
<!----/ Main Part ---->
<!---- Footer ---->
<footer></footer>
<!----/ Footer ---->
- Définir
base.html
, qui contiendra la balise body et la balise app
<body> <app>Loading ...</app> </body>
- Maintenant, finale step définit les composants pour
Navigation
etFooter
comme le MainComponent, qui pointent vers votre partielle des modèles