この問題を解決する方法は、UI-Routerを使用することです。
例えば:
app.html
すべてのアプリケーション ビューを保持するページである を持つことができます。その中に次を追加します。
<body>
<div ui-view></div>
</body>
アプリケーション全体で必要なスタイル/スクリプト。
ビューを含むすべてのビューがそこに移動しindex.html
ます。
インデックスを除くページに、実際のページに応じて本文が変化するある種のヘッダー/本文/フッター レイアウトがあると仮定すると、次のように構成を使用できます。
var app = angular.module('app', [])
.config(['$stateProvider', function ($stateProvider)
{
$stateProvider
.state('index', {
url: '/index',
templateUrl: 'index.html',
controller: 'IndexController'
})
.state('root', {
templateUrl: 'root.html',
controller: 'RootController'
})
.state('root.somePage', {
url: '/some-page',
templateUrl: 'some-page.html',
controller: 'SomePageController'
})
.state('root.anotherPage', {
url: '/another-page',
templateUrl: 'another-page.html',
controller: 'AnotherPageController'
});
}
これroot.html
は、ASP.NET Web フォームのマスターページのようになるため、次の形式になります。
<!-- header markup here -->
<div ui-view></div>
<!-- footer markup here -->