我有一组视图和每个项目的删除按钮
...<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。
但这种方式不起作用。可能我在视图和控制器中都做错了。如何以角度设置?
答案 0 :(得分:1)
您很可能忘记了vm.
表达式中deleteCourse(course.id)
之前的ng-click
。
通常是小事。
P.S。您应始终将track by
用于ng-repeat
表达式。在您的情况下,请使用表达式"course in vm.courses track by course.id"
。