2016-02-19 17 views
0

$stateProvider規定:

$stateProvider.state('main.result', { 
      'url': '/result' 
        + '/student/:studentId' 
        + '/school/:schoolId' 
        + '/display', 
      'templateUrl':'/results/display.html', 
      'controller': 'ExamDisplayController' 
     }); 

在上述網址我通過兩個ID的 之一是:studentId和 另一個是:這裏schoolId 我想格式化有條件地在上面兩個提到id的url。 預期

如果

studentId !== nullschoolId === null

那麼URL應該是/result/student/:studentId/display

否則,如果

studentId === nullschoolId !== null

然後url應該是/result/school/:schoolId/display

+0

你應該爲每一個可能性創建一個嵌套視圖 –

+0

如何創建嵌套視圖?和我可以在我的網址添加條件 –

+0

閱讀本指南(https://github.com/angular-ui/ui-router/wiki/Nested-States-and-Nested-Views),我認爲它的幫助 –

回答

0

你可以使用三元運算符,並基於它,你可以形成網址。

請嘗試以下代碼。

url = '/result' + (studentId !== null AND schoolId === null) ? '/student/:studentId' : '' 
        + (studentId === null AND schoolId !== null) ? '/school/:schoolId' : '' 
        + '/display', 
      'templateUrl':'/results/display.html', 
      'controller': 'ExamDisplayController' 

$stateProvider.state('main.result', { 
      'url': url 
     }); 
+0

我們如何比較studentId,如果我想在該條件下傳遞studentId,那麼它將如何獲得studentId?我的意思是我將如何在我的'url'中獲得studentId和schoolId –

+0

我沒有得到你的問題。 –

+0

如何在我的網址中獲取studentId和schoolId?以及我應該如何在網址中進行比較 –