2013-01-13 147 views
0

是否可以在加載時初始化作用域和ng-view?AngularJS - 初始化和加載

問題:
我有一個AngularJS應用與經銷商名單。你可以選擇地圖和開放的細節上經銷商的疊加DIV路線

when(
    '/dealer/:id', { 
    templateUrl: 'files/tpl/dealer-details.html?19', 
    controller: 'DealerDetailsCtrl', 
    activetab: 'details'} 
). 

上(含伍秀=「秀」稱它)現在客戶希望的是,當客戶打開頁面,一個初始的詳細信息覆蓋圖是打開的細節。

解決方案(可能):
是否有可能,也許NG-INIT,發硬編碼:所選擇的經銷商的ID控制器和觸發的細節疊加,以便其通向負載?或者也許用ID來觸發路線。

回答

0

如果我正確理解你,你需要一個默認值:id如果沒有提供?

最好的辦法是有兩個when條款在$routeProvider

$routeProvider.when(
    '/dealer', { 
    templateUrl: 'files/tpl/dealer-details.html?19', 
    controller: 'DealerDetailsCtrl', 
    activetab: 'details'} 
); 
$routeProvider.when(
'/dealer/:id', { 
templateUrl: 'files/tpl/dealer-details.html?19', 
controller: 'DealerDetailsCtrl', 
activetab: 'details'} 
); 

在你的控制器,你就可以分配如果沒有定義的默認值:

$scope.dealer = $routeParams.id || 'defaultDealerId'; 
+0

這是否包括覆蓋打開太? – Marek123

+0

通常,你的ng-show應該照顧它,但很難知道沒有更多的代碼片段 – asgoth