我有以下配置:切換知名度NG-包括根據路線
$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-觀點樣的做到這一點,但差別,如果微妙,存在。我希望每個視圖的html都能生成一次,並始終保持在DOM中。
這是不可能用ng-view來實現的。但問題是,你爲什麼真的想這樣做。是否因爲你想'預處理'每條路線,以便加載速度更快?路由已經非常快,除非你的控制器需要一些異步數據,在這種情況下,你會使用路由定義對象中的'resolve',加上一些應用初始化代碼來在後臺獲取異步數據。 – Stewie 2013-02-28 08:48:41