2014-07-26 61 views
0

我正在使用Angular ui-router並定義了我的路線。但問題是它改變了狀態,但也改變了網址,這不是真的使用ui-router的意圖。我不知道我在做什麼錯在這裏,需要在下面的代碼Angular UI路由 - 更改網址的狀態

app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) { 

     $urlRouterProvider.otherwise('/'); 

     $stateProvider 
      .state('ManageUser', { 
       url: '/manager-user', 
       templateUrl: '/app/user/manage_users.html' 
      }) 
      .state('ManageUserSetting', { 
       url: '/user-setting', 
       templateUrl: '/app/user/settings_normal.html' 
      }); 
    }]); 

回答

2

如果你想改變狀態,而不會也改變它的作爲只是省略從相關國家的url參數作爲簡單的URL一些建議:

$stateProvider 
     .state('ManageUser', { 
      url: '/manager-user', 
      templateUrl: '/app/user/manage_users.html' 
     }) 
     .state('ManageUserSetting', { 
      templateUrl: '/app/user/settings_normal.html' // url is still '/manager-user/' 
     }); 



這就是說,在大多數情況下,當使用angular-ui-router想要更改網址。 angular-ui-router的主要目的是爲了能夠nest views然後能夠直接鏈接到那些view states

Watch this videoui-routerngRoute之間差異的說明)

如果在的情況下,你描述你上面僅僅要顯示的嵌套視圖內的一些用戶設置,而不改變URL,則實際上使用ng-show切換設置可能會更好。這是你的選擇。

Here is an example我把這兩種情況混在一起。如果你想詳細解釋讓我知道。

+1

太好了。很好的解釋和非常感謝你的樣品。 –

相關問題