2012-07-21 32 views
9

Prawdopodobnie jest to prosty sposób, ale nie mogę się dowiedzieć, jak to zrobić.

Kiedy klikam na mój przycisk Usuń poniżej kątowych hitów następujący adres URL:

http://localhost:8080/rest/managedCourse?id=3 

Jak mogę go trafić przekazać zmienną path zamiast parametru żądania takich jak to:

http://localhost:8080/rest/managedCourse/3 

Herezje mój html:

<table> 
    <tr ng-repeat="course in page.content"> 
     <td>{{course.title}}</td> 
     <td>{{course.description}}</td> 
     <td>{{course.creditValue}}</td> 
     <td><button ng-click="remove(course.id)">Delete</button></td> 
    </tr> 
</table> 

I tu jest mój kontroler:

function ManagedCourseController($scope, $resource) 
{ 
    var ManagedCourse = $resource("rest/managedCourse/:courseId", {courseId:'@id'}); 

    $scope.page = ManagedCourse.getPage({"page.page": "0", "page.size": "3", "page.sort": "title", "page.sort.dir": "asc"}); 


    $scope.create = function (managedCourse) { 
     ManagedCourse.create(managedCourse); 
    } 

    $scope.remove = function (courseId) { 
     ManagedCourse.remove({id:courseId}); 
    } 
} 

Odpowiedz

9
function ManagedCourseController($scope, $resource) 
{ 
    var ManagedCourse = $resource("rest/managedCourse/:courseId/:id", 
     {courseId:'@id'}); 
    ... 

powinien zrobić to

+10

Czy /: część id prostu ignorowane wtedy? Chcę tylko zrozumieć, jak to działa. – testing123

+2

Chociaż to wydaje się działać, zastanawiam się również, jak to działa. Dokumentacja AngularJS dotycząca zasobu $ (https://docs.angularjs.org/api/ngResource/service/$resource) wydaje się nie wyjaśniać tego zachowania. Dokumenty o nadmiarowych wartościach są dodawane jako parametry zapytania, ale nie jak pomijane są części szablonu adresu URL. –

+0

A jak zrobiłbyś to dla niestandardowego działania? – Stephane