私は次の構成を持っています:
$routeProvider
.when('/cars', { templateUrl: 'app/cars/index.html', controller: 'CarsCtrl', reloadOnSearch: false })
.when('/bikes', { templateUrl: 'app/bikes/index.html', controller: 'BikesCtrl', reloadOnSearch: false });
そして私のルート index.html のどこかに次のものがあります:
<a href="#/cars">Cars</a>
<a href="#/bikes">Bikes</a>
<div ng-view></div>
ここで、両方のビューを同時に DOM にロードして生成し、ルート/URL に応じていずれかを表示します。
次のようなものです(実際の作業コードではなく、アイデアを提供するためだけです)。
app.js:
$routeProvider
.when('/cars', { controller: 'CarsCtrl', reloadOnSearch: false })
.when('/bikes', { controller: 'BikesCtrl', reloadOnSearch: false });
ルート index.html:
<a href="#/cars">Cars</a>
<a href="#/bikes">Bikes</a>
<div ng-include="'app/cars/index.html'" ng-show="carsVisible"></div>
<div ng-include="'app/bikes/index.html'" ng-show="bikesVisible"></div>
更新: ng-view の種類がこれを行うことは知っていますが、微妙な場合でも違いが存在します。各ビューの html が一度生成され、常に DOM にとどまるようにします。