2015-09-02 37 views
4

如何在angularJs中將參數傳遞給局部視圖。我是新來的角,我遵循These學習教程。本教程解釋基本相當好,但沒有關於如何發送參數到局部視圖。 e.g /addStudent?id=45如何在AngularJS的Route Url中傳遞參數

$routeProvider. 
        when('/addStudent', { 
         templateUrl: 'addStudent.htm', 
         controller: 'AddStudentController' 
        }). 
        when('/viewStudents', { 
         templateUrl: 'viewStudents.htm', 
         controller: 'ViewStudentsController' 
        }) 

回答

2

傳遞參數的路線,你的網址

一樣,你可以定義參數爲:parameter

$routeProvider. 
       when('/addStudent', { 
        templateUrl: 'addStudent.htm', 
        controller: 'AddStudentController' 
       }). 
       when('/viewStudents', { 
        templateUrl: 'viewStudents.htm', 
        controller: 'ViewStudentsController' 
       }). 
       when('/students/:id', { 
        templateUrl: 'studentsDetail.htm', 
        controller: 'studentsDetailController' 
       }) 

這裏網址students/:id具有ID作爲參數。

這裏是angular doc

3

更多的「角的方式」來實現是通過使用$routeParams服務。

檢查the docs

1
$routeProvider.when('/addStudent/:id', { 
       templateUrl: 'addStudent.htm', 
       controller: 'AddStudentController' 
        }) 

$routeProvider.when('/viewStudents/:id', { 
       templateUrl: 'viewStudents.htm', 
       controller: 'ViewStudentsController' 
        }) 
+0

解釋爲什麼這是一個正確的答案否則將被刪除。 –

+0

when()調用中的URL現在定義一個參數。它是從冒號開始的部分(:param) AngularJS現在將從URL(路徑路徑)中提取任何在#/ route1/part之後的內容。 –

+0

只有代碼的答案,雖然他們被允許,但他們並不傾向於獲得大量upvotes。嘗試解釋*爲什麼*代碼的工作原理以及它解決的問題和方法。我不同意Mamta關於它被刪除的問題,但它只是不如有用的答案。只是我的0.02美元。 – Mike