如何将项目ID传递给控制器​​以获取删除方法?

时间:2016-01-11 23:43:41

标签: javascript angularjs asp.net-mvc

我有一组视图和每个项目的删除按钮

...<tr ng-repeat="course in vm.courses">
        <td>{{ course.name }}</td>
        <td>{{ course.url }}"</td>
        <td>{{ course.duration }}</td>
        <td>
<a ng-click="deleteCourse(course.id)" class="btn btn-sm btn-danger">Delete course</a>...

我需要将course.id传递给angularjs控制器以进行删除

(function () {

"use strict";

angular.module("app-courses")
.controller("coursesController", coursesController);

function coursesController($routeParams, $http){

    var vm = this;

    vm.deleteCourse = function (id) {

        $http.delete("/api/courses/" + id)
                .then(function (response) {
                    vm.courses.splice(id, 1);
                }
    };
}})();

然后url和id转到API Controller。

但这种方式不起作用。可能我在视图和控制器中都做错了。如何以角度设置?

1 个答案:

答案 0 :(得分:1)

您很可能忘记了vm.表达式中deleteCourse(course.id)之前的ng-click

通常是小事。

P.S。您应始终将track by用于ng-repeat表达式。在您的情况下,请使用表达式"course in vm.courses track by course.id"