2014-10-09 86 views
2

我採用了棱角分明的路由器,我有類似下面我如何通過從一個路由值到另一個角?

angular.module("manageAbcApp", ["myApp", "ngRoute"]) 
     .config(['$routeProvider', function($routeProvider) { 
      $routeProvider 
       .when('/list', { 
        templateUrl: '/Scripts/app/views/abc/AbcList.htm', 
        controller: 'ListAbcController' 
       }) 
       .when('/view/:id', { 
        templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm', 
        controller: 'DashboardAbcController' 
       }) 
       // more... 
       .otherwise({ 
         redirectTo: '/list' 
        }); 
     }]); 

的一個路由因此,大家可以看到有2路一個上市和其他的選擇列表中的項目的儀表板。

在列表路徑中選擇列表視圖並顯示在哪裏顯示包含某些數據的網格,此網格中的某一列是可點擊的名稱列,點擊它後,我將路由更改爲href="#/view/{row.Id}"

這工作正常。

但是,我怎麼也通過一些額外的paramters到DashboardAbcController喜歡的名字或任何其他細節?

編輯:我想通了,我可以在服務中使用共同服務於這兩個控制器和ng-click更新一些模型。但我不希望使用,如果我不那麼我就會失去允許用戶打開我的新標籤頁的鏈接選項NG單擊堂妹,複製粘貼,共享等..

+0

如果你的目標是將數據傳遞到不是從它的URL重新構造的另一條路線,那麼我認爲這將導致能力的喪失,爲用戶在一個新的標籤,複製,粘貼正確打開該鏈接,共享等? – 2014-10-09 07:03:11

回答

2

什麼是這樣的:Demo

.when('/list', { 
    templateUrl: '/Scripts/app/views/abc/AbcList.htm', 
    controller: 'ListAbcController' 
}) 
.when('/view/:id/:name/:other/:details', { 
    templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm', 
    controller: 'DashboardAbcController' 
}) 

而且,你可以創建像一個鏈接:

<a href="#/home/1/some_name/other/details?random=random">Home</a> 

注意:您可以將其他數據作爲路由參數傳遞給您不想修復的路由。

2

無論是使用$ rootscope分配值恩。 $ rootscope.name = '名字' 或使用get參數

.when('/view/:id?name=&id=', { 
    templateUrl: '/Scripts/app/views/abc/AbcDashboard.htm', 
    controller: 'DashboardAbcController' 
    }) 
相關問題