Подтвердить что ты не робот

AngularJs включает частичный шаблон

У меня это в моем основном файле макета

<body>
    <header id="header" ng-controller="HeaderController"></header>
    <div class="container" ng-view></div>

У меня есть частичный шаблон header.html в моей структуре каталогов.

Как включить этот шаблон в мое приложение? Я думал, что angular автоматически включает шаблон после обработки контроллера, но он не работает.

Заголовок node должен быть заменен содержимым этого файла.

4b9b3361

Ответ 1

Одним из способов включения фрагментов templates/html из внешних файлов является использование директивы ng-include (doc).

<ng-include src="'/path/to/the/header.html'"></ng-include>

или

<div ng-include src="'/path/to/the/header.html'"></div>

Ответ 2

От Angular 2, ngInclude было удалено, а предпочтительные пользовательские директивы. Так я придумал

  • Определите основной компонент для вашего приложения, которое ссылается на главную страницу

        @View({
            templateUrl:   'client/app/layout/main.html',
            directives: [ROUTER_DIRECTIVES, Navigation, Footer]
        })
        @Component({selector: 'app'})
        @RouteConfig(
            routerConfig
        )
        class MainComponent {
        }
    

И это основной шаблон

<!---- Navigation bar ---->
<navigation></navigation>
<!----/ Navigation bar ---->

<!---- Main Part ---->
<router-outlet>
</router-outlet>
<!----/ Main Part ---->

<!---- Footer ---->
<footer></footer>
<!----/ Footer ---->
  1. Определите base.html, который будет содержать тег body и тег приложения

<body> <app>Loading ...</app> </body>

  1. Теперь последний шаг - это определение компонентов для Navigation и Footer, таких как MainComponent, которые указывают на ваши частичные шаблоны