私はこれをメインのレイアウトファイルに入れました
<body>
<header id="header" ng-controller="HeaderController"></header>
<div class="container" ng-view></div>
ディレクトリ構造にheader.html部分テンプレートがあります。
このテンプレートをアプリに含める方法は? angularは、コントローラーの処理後にテンプレートを自動的に含めると思いましたが、機能しません。
ヘッダーノードは、このファイルのコンテンツに置き換える必要があります。
外部ファイルからテンプレート/ htmlフラグメントを含める1つの方法は、ng-include
ディレクティブ( doc )を使用することです。
<ng-include src="'/path/to/the/header.html'"></ng-include>
または
<div ng-include src="'/path/to/the/header.html'"></div>
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 ---->
base.html
を定義します<body> <app>Loading ...</app> </body>
Navigation
およびFooter
のコンポーネントを定義することです。